🧰 UtlKit

How to Use Image Info: 4032 x 3024, 3.00 MB, 12.2 MP, Shutter 1/25s and GPS 31.243333 Right in the Browser

Dimensions from the decoded bitmap, size tiers from B to MB, a reduced aspect ratio, and for JPEG a zero-dependency EXIF pass: camera, ISO 200, f/2.8, 1/25s, 35 mm, and a six-decimal GPS point with a map link, all local.

The image info viewer opens a picture in your browser and prints what the file actually is: file name, format, width and height, size in human readable units, aspect ratio, megapixels, and, for a JPEG, the EXIF block: camera, date taken, ISO, aperture, shutter, focal length and GPS position. Nothing is uploaded; the file is read locally and decoded by the browser, so the tool works offline once the page has loaded. This article follows one photo, photo.jpg, a 4032 x 3024 JPEG weighing 3.00 MB, through every panel the tool prints, and ends with the five behaviours that decide what you see, or do not see, on the page.

What the file panel prints

The file panel takes the decoded image and its File object and prints six rows. The format row reads the MIME type and maps it to a label, JPEG, PNG, WebP, GIF, BMP, SVG, AVIF, TIFF, HEIC or HEIF, and when the type is missing it falls back to the uppercased file extension, then to Unknown. The dimensions come from the decoded bitmap: the browser reports naturalWidth 4032 and naturalHeight 3024, not anything written in a header. The size row prints bare bytes below one kilobyte, KB with one decimal below one megabyte, and MB with two decimals above it, so a file of 3145728 bytes prints 3.00 MB. The aspect ratio row divides both sides by their greatest common divisor, 1008 for 4032 and 3024, and prints 4:3 instead of the raw pair. The megapixels row multiplies the two dimensions and prints the count to one decimal: 12.2 MP. If you are about to shrink this file, the image compressor takes the same local first approach and shows the byte saving before you save.

Why only JPEG gets an EXIF section

EXIF parsing starts only when the file type is image/jpeg. The parser walks the JPEG markers from the start of image, looks for the APP1 segment whose first six payload bytes spell Exif followed by two zero bytes, and then checks the TIFF header: a byte order marker, the magic number 42, and an offset to the first image file directory. If any of those is missing it stops, and the panel shows the plain no-EXIF note. For every other format the tool skips parsing entirely and shows a different note, "EXIF data is only available in JPEG images", even when the container technically carries metadata. The walk also stops at the start of scan marker, because once the image data begins there is no metadata left to read.

How the tags are read

The main image file directory carries the basic tags: make, model, orientation, resolutions, date taken, and a fallback set of exposure tags. Two pointer tags open the sub-directories that hold the camera data: tag 8769 points to the Exif image file directory, where real cameras write the exposure time, f-number, ISO speed ratings and focal length, and it overwrites any IFD0 fallback with the spec value; tag 8825 points to the GPS directory with latitude and longitude reference letters and degree-minute-second values. Orientation values from 1 to 8 map to labels from Normal through Rotate 90 CW, and any value outside that range prints an unknown label with the raw number. ISO speed ratings arrive as a pair on many cameras, and the tool keeps the first non-zero entry, which is 200 for our photo. The colour space tag prints sRGB for the value 1 and Adobe RGB for anything else, and a truncated IFD makes the loop stop quietly instead of throwing.

Shutter, aperture and focal length

Three exposure rows are formatted before they reach the screen. Aperture is printed as f/ plus the f-number, so 2.8 becomes f/2.8. Shutter speed takes the exposure time in seconds: values below 1 are rendered as a fraction with the reciprocal rounded, so 0.04 becomes 1/25s, values of 1 or more print in the 2s style, and a stored zero or negative value is printed raw. Focal length is printed as the number plus mm, so a 35 mm prime lens shows 35 mm. Our worked photo, a Canon EOS R6 frame dated 2026:07:14 09:30:00 with orientation 6, reads ISO 200, f/2.8, 1/25s and 35 mm in that panel.

How GPS becomes a map link

The GPS directory stores each coordinate as three rationals, degrees, minutes and seconds, plus a reference letter. The tool converts them to decimal degrees by adding the minutes over 60 and the seconds over 3600, so 31 degrees 14 minutes 36 seconds North becomes 31 + 14/60 + 36/3600 = 31.243333, and 121 degrees 28 minutes 47 seconds East becomes 121.479722. Both print with six decimal places and their letter. Below the two values the panel offers a View on map link to Google Maps, and when it builds that URL it negates the latitude for South and the longitude for West, so a southern or western coordinate lands on the correct side of the equator or the prime meridian. If you need the same picture in another container before sharing, the image converter re-encodes locally and lets you choose the target format.

What the tool never does

Finally, the boundaries. The image is never uploaded: the preview is a local object URL, revoked when you load a new file or when the component unmounts, and the only link that leaves your machine is the optional map link, which you click on purpose. The EXIF section appears only when at least one of make, model, date taken, ISO, focal length or GPS is present, so a JPEG whose metadata was stripped prints the dimensions rows and the no-EXIF note, not an empty grid. When the browser cannot decode the file, the panel resets to the empty upload state. From here you can resize the same file to a pixel budget, check what a byte count means, crop it before sharing, work out the aspect ratio by hand, or generate an app icon from the same local image.

Related Tools

Frequently Asked Questions

Does the tool upload my image to a server?

No: the file is read locally and decoded by the browser, the preview is a local object URL that is revoked when a new file is loaded or the component unmounts, and the only link that can leave your machine is the optional map link, which you click on purpose.

Why does my JPEG show no EXIF section?

The panel shows the EXIF grid only when at least one of make, model, date taken, ISO, focal length or GPS is present, so a JPEG whose metadata was stripped prints the dimensions rows and the no-EXIF note instead, and every non-JPEG format skips parsing entirely and gets its own note saying EXIF data is only available in JPEG images.

Are the dimensions read from the file header?

No: the browser decodes the picture and reports naturalWidth and naturalHeight, which is where 4032 and 3024 come from, the aspect ratio row then divides both sides by their greatest common divisor 1008 and prints 4:3, and the megapixels row multiplies the two sides to one decimal, 12.2 MP.

How does 0.04 seconds become 1/25s on the shutter row?

Shutter speed reads the exposure time in seconds and prints values below 1 as a fraction with the reciprocal rounded, so 0.04 inverts to 25 and prints 1/25s, values of 1 or more print as 2s style, and a stored zero or negative value is printed raw without any formatting.

How exactly are the GPS coordinates displayed?

Each coordinate is stored as three rationals, degrees, minutes and seconds, plus a reference letter, the tool adds the minutes over 60 and the seconds over 3600, prints the decimal result with six places and the letter, 31.243333 North and 121.479722 East for our photo, and the map link negates South latitudes and West longitudes when it builds the Google Maps URL.

Related Articles