Inspect image dimensions and calculate print size
Open an image and set a target DPI to estimate its size in inches and centimeters. This reports image properties without changing the file’s resolution.
Runs locally in your browserOpen an image and set a target DPI to estimate its size in inches and centimeters. This reports image properties without changing the file’s resolution.
Runs locally in your browserThe page opens one image in the browser and reports what the file itself declares: pixel dimensions, the reduced aspect ratio, the megapixel count, the file size and, when the file carries one, the embedded pixel density. Nothing is uploaded and the image is never converted — the preview is a canvas copy.
Print size is a calculation on top of those numbers: pixel dimensions divided by a target DPI, shown in inches and centimetres. Change the target and the physical size changes while the pixel count stays the same.
Dimensions are the decoded pixel width and height. Aspect ratio divides those two numbers by their greatest common divisor, so 3000 × 2000 is reported as 3:2 while 1366 × 768 becomes 683:384 because nothing smaller divides both. Megapixels are width × height ÷ 1,000,000 with three decimals, and Input size is the file size in the browser’s byte units. The decimal ratio in the table is width ÷ height with six decimals.
Embedded DPI is metadata a file may or may not carry: a PNG needs a pHYs chunk, a JPEG a JFIF header or an EXIF resolution tag, and the report names the source it read — PNG pHYs, JPEG JFIF or EXIF. When the tag is absent the row reads Not embedded, which does not mean the image is broken: screenshots and exported canvases routinely store pixels without any physical size.
Print size always comes from the target DPI, not from the embedded value. At 300 DPI a 3000 × 2000 image covers 10 × 6.67 in (25.4 × 16.93 cm); set the target to 150 DPI and the same pixels cover twice the width and height. Editing the DPI field does not refresh the table on its own — press Inspect image again after changing it.
The preview canvas is capped at 1200 px wide, so a 3000 × 2000 photo is drawn at 1200 × 800 while the metrics and print size keep the full pixel numbers. The JSON export holds one object: name, MIME type, byte size, width, height, the reduced and decimal ratios, megapixels, embeddedDensity (or null) and printAtDpi with the dpi, inches and centimetres. Density is read-only metadata — the tool never rewrites the file, and choosing a target DPI does not add a tag to it.
Because print size is pixels ÷ DPI: 3000 px at 300 DPI is 10 in wide, at 150 DPI it is 20 in. The pixel dimensions and the file itself do not change. Press Inspect image after editing the field — the table is recalculated on the run, not while you type.
It was probably never written. Many editors and every screenshot tool save pixels without a physical size, and the tag only exists when the file carries a pHYs, JFIF or EXIF density. The pixel numbers are still exact; only the physical size is a convention, so set the target DPI you actually print at.
No. It reads the header bytes for the density, decodes a copy for the preview and leaves the original untouched; the only file it writes is the JSON report you ask for. The bytes never leave the browser, which is why the page keeps working offline.
The preview canvas is capped at 1200 px wide to keep large photos responsive, so a 3000 × 2000 image is displayed at 1200 × 800. The reported dimensions, ratio and print size always use the full pixel dimensions.
PNG, JPEG, WebP and SVG files open in the preview. Density metadata is read from a PNG pHYs chunk, a JPEG JFIF header and EXIF resolution tags; a WebP or SVG without such a tag simply reports Not embedded.