Image Distance Measurer
Measure spans on a local image with picked or entered coordinates, optional reference scaling and source-linked CSV, JSON or annotated SVG export.
Loading tool…
How to use Image Distance Measurer
Place two points on a picture to measure their pixel distance, or use a line of known length to define your own uniform image scale. Pointer, numeric and keyboard paths share the same integer decoded-image grid. Exact coordinate evidence remains separate from approximate lengths and from the accuracy of your photograph or reference.
- Choose a local static PNG, baseline JPEG or simple WebP. Select Pixels, or enter an explicit known reference length and unit for User reference scale.
- Run the tool to prepare the point panel. In reference mode, choose two different reference endpoints first. Then choose pairs of measurement endpoints.
- Use pointer clicks, enter exact x/y coordinates and select Use coordinates, or focus the image and use arrow keys with Enter. Shift moves ten grid units; incomplete lines can be cancelled.
- Review complete spans, coordinate provenance and scale assumptions. Undo or clear if needed. Download CSV/JSON or the SVG overlay containing the freshly prepared image pixels.
Good to know
- One local file up to 8 MiB, 1,000,000 pixels and 2,048 per side. Strict existing raster structure/CRC preflight allows static PNG, baseline sequential JPEG and simple VP8/VP8L WebP. SVG, GIF, APNG, progressive JPEG, extended/animated WebP and compressed PNG metadata are excluded. Preflight is not full codec validation.
- Coordinates belong to the displayed browser-decoded raster: top-left origin, square pixels, exact integer x in 0..width and y in 0..height, including the image edges. A separate 48-pixel annotation margin is not part of the measuring grid. Pointer mapping assumes an axis-aligned canvas and rounds canonical browser decimal positions to the nearest grid point, halves upward and clamps edges. CSS rotations/skews are not corrected; use numeric inputs when precise coordinates matter.
- User reference scale assumes one uniform in-plane ratio. Known length is an explicit decimal assumption from 0.000001 through 1 billion with at most 6 places; unit is a literal label of 1–16 UTF-16 units. It does not correct perspective, lens distortion, resampling, reference uncertainty or placement error, and it provides no physical accuracy, medical or engineering certification.
- The optional point CSV is at most 6,000 UTF-16 units with exact kind,label,x1,y1,x2,y2 headers, one nonzero reference and at most 20 measurements. Labels are distinct for measurement rows, single-line and at most 40 UTF-16 units. Coordinates require plain nonnegative integers; quoted numeric rounding, signs and exponents are refused. A zero measurement is allowed. Pixel mode refuses reference rows; reference mode can wait for a reference.
- Source squared pixel distances and reduced squared-scale fractions are exact bounded model arithmetic. Square roots retain finite stored estimates; an exact length fraction appears only for a rational square root. Exact model arithmetic does not establish the correctness of an image or reference. Original point CSV remains separate from current interactive endpoints and their input-kind witnesses.
- Run only checks static settings, bounded bytes and header evidence. Mount starts native decoding with a 10-second cap and fresh PNG encoding with a 5-second cap. Decoded dimensions must match preflight. Same-dimension EXIF rotations/reflections may still occur; from-image orientation and the displayed decoded grid define the coordinate frame. Fresh PNG uses identity-sized drawing, but color/profile, premultiplication, hidden-alpha samples and metadata can change.
- Reset, rerun, hiding, pagehide or disposal cancels ownership, clears timers/listeners, zeroes canvases and closes owned or late bitmaps; native codec work itself cannot be forcibly aborted. Returning does not restart the panel. There are no object URLs, background measurement timers, uploads, permissions or automatic input history in this workflow.
- The overlay canvas is limited to 1,300,000 pixels including its 48-pixel margin. Complete JSON/CSV is limited to 250,000 UTF-16 units and UTF-8 bytes. Annotated SVG is limited to 12 MiB and embeds one checked fresh PNG of at most 8 MiB; it contains your picture, not an anonymized derivative. Fixed ordinary ordinal labels identify the full labels in the separate table. Native glyph fit, downloads and actual layout require inspection.
Common questions
Can I measure a real object from any photograph?
A reference only sets a uniform scale inside the displayed image. Perspective, depth differences, distortion and an incorrect reference can make a physical estimate wrong. This tool neither corrects those effects nor assigns an accuracy or uncertainty guarantee.
Can I use the tool without a mouse or touch input?
Yes. Enter exact x and y integers and choose Use coordinates for each endpoint. The focused image also accepts arrow keys, Shift for ten-unit steps, Home/End and Enter. All paths use the same original decoded-image grid.
Why is SVG unavailable immediately after Run?
The panel first verifies native decoded dimensions and creates a fresh PNG with the same decoded grid. SVG export then embeds that checked image and your complete lines. Header-only JSON/CSV clearly records that native mapping is still unverified.
Is the built-in sample a real physical calibration?
No. It is an original synthetic 128 × 96 pixel grid. The example assigns 12 user units to a 96-pixel reference span to demonstrate the arithmetic; it does not establish a physical dimension.
Keep going with related tools
All images →Image Pixel Color Sampler
Read a precise local image pixel’s RGBA values and download a whole-cell magnified patch around that coordinate.
ImagesImage Dimensions
Read image width, height, format, size, and aspect ratio locally.
CalculatorsManually Calibrated Screen Ruler
Match a known real reference yourself, then view bounded millimeter ticks with explicit calibration and resize status.