gizmobench

Image Metadata Viewer

Drop a photo in and the page reads what it is carrying: the pixel size from the frame header, the camera make and model, the lens, the shutter, the aperture, the ISO, the date it was taken, the orientation flag, and the GPS coordinates when the file has them. Two things make this different from the viewers you land on for this search. First, every field appears twice, as the file stores it and as this page reads it, so "178/100" and "f/1.78" sit side by side and you can see which half is the file and which half is our interpretation. Second, GPS is never buried: if a coordinate is there, it is shown in decimal degrees at the top of the readout and flagged under the stage in the form the file stores, because that is the field worth knowing about before you send the original to anyone. PNG is read as thoroughly as JPEG: the IHDR header, tEXt and uncompressed iTXt keywords, the pHYs density, the tIME modification stamp, and an eXIf chunk when a PNG carries one. A file with nothing in it is reported as having nothing, and a file whose EXIF offsets point outside their own block has those entries refused and counted rather than read past the end. Your file is never uploaded: it is read by this page, in this tab, and neither the photo nor its coordinates is ever written to storage.

sample-exif.jpg349 bytes
sample-exif.jpg

4032 x 3024 pixels
JPEG, 349 bytes
Baseline, colour (3 components), 8 bits per channel

A built-in sample: a header written by this page, not a photograph.
metadata14 tags
Pixel width               4,032 pixels
Pixel height              3,024 pixels
Make                      Apple
Model                     iPhone 15 Pro
Orientation               Rotate 90 degrees clockwise to display upright
Software                  17.5.1
Date and time             2026-07-14 11:02:33
Exposure time             1/200 s
F number                  f/1.78
ISO speed                 ISO 64
Date and time (original)  2026-07-14 11:02:33
Flash                     Flash did not fire (flash byte 16)
Focal length              24 mm
Lens model                iPhone 15 Pro back triple camera 6.86mm f/1.78

Showing a sample. or drop one here. It stays in this tab.

Never uploadedNo accountGPS shown if presentWorks offline
Tags
14
Camera
Apple iPhone 15 Pro
GPS
none stored
Taken
2026-07-14 11:02:33

No GPS in this file.No GPS coordinates are stored in this file. The rest of the EXIF block was read and is listed below.

JPEG, 4032 x 3024 pixels, 14 fields read. Camera: Apple iPhone 15 Pro. Taken 2026-07-14 11:02:33. No GPS coordinates are stored in this file.

Every field, as stored and as read

FieldStoredReading
From the file header
Pixel width40324,032 pixels
Pixel height30243,024 pixels
EXIF
MakeAppleas stored
ModeliPhone 15 Proas stored
Orientation6Rotate 90 degrees clockwise to display upright
Software17.5.1as stored
Date and time2026:07:14 11:02:332026-07-14 11:02:33
Exposure time1/2001/200 s
F number178/100f/1.78
ISO speed64ISO 64
Date and time (original)2026:07:14 11:02:332026-07-14 11:02:33
Flash16Flash did not fire (flash byte 16)
Focal length24/124 mm
Lens modeliPhone 15 Pro back triple camera 6.86mm f/1.78as stored

The stored column is what the file holds, printed as it holds it. The reading column is this page's interpretation of it, and says as stored wherever there is nothing to add. Copy and Download give you the same fields as JSON, each with the tag number the file uses.

  • Photo with EXIF14 tags
    camera, lens, date, orientation
  • Stripped imageno EXIF
    says so, lists nothing
  • GPS presentlat/long
    flagged before you share
  • PNG with text chunkstEXt and pHYs
    keywords, density, modified date

The photo with exif sample is on screen until you open a file. Up to 20 MB of file at a time, which is 20,971,520 bytes: the whole file is held in this browser while it is read, so that is a memory bound rather than an upload limit. JPEG and PNG are read; a HEIC, WebP, AVIF or raw file is named and refused rather than half read.

Where your file goes. Nowhere. It is read by this page, in this tab, with a FileReader, and the parsing happens in your own browser: there is no upload, no account and no request of any kind. Your photo and its metadata are never written to storage either, because the coordinates in a photo are the last thing that should outlive the tab you opened it in. The only things this page remembers are which column you last read and which sample you last looked at, and the Start over button above forgets those.
Accuracy. Reads the metadata the file already contains and shows it unchanged, including GPS coordinates when they are there. The file is read in your browser and never uploaded. It cannot tell you whether a tag is true, because a camera or an editor writes these fields, and a file that carries none is reported as carrying none rather than filled in by guesswork.

Common questions

Is my photo uploaded anywhere?
No. The file is read by this page with a FileReader and parsed in your own browser, so there is no server in this, no account to make and no request of any kind. Your photo and the fields read out of it are never written to local storage either, which is deliberate: the coordinates in a holiday photo are the last thing that should outlive the tab you opened it in. The only two things this page remembers are which column you last read and which sample you last looked at, and the Start over button above the tool forgets both.
How do I tell whether a photo has my location in it?
The GPS cell in the readout answers it in one glance: it shows the coordinates in decimal degrees when the file carries them, and says none stored when it does not. Under the stage the same finding is spelled out, with the altitude and the time of the fix when those are present, and with the stored form of the coordinate in degrees, minutes and seconds, which is how EXIF actually writes it. A latitude reference of S or a longitude reference of W is applied as a negative number, so the pair you see is the pair a map expects. If the block is there but a value is stored with a zero denominator, or the numbers fall outside the 90 and 180 degrees a coordinate can have, no position is shown and the page says which of those happened rather than printing a broken number.
Which formats does it read?
JPEG and PNG. A HEIC from an iPhone, a WebP, an AVIF, a TIFF or a camera raw file is named and refused rather than half read, because those keep their metadata in structures this parser does not follow and a partial answer about your own photo is worse than none. Inside a JPEG it reads the frame header for the pixel size, the EXIF block in APP1, a JFIF density block and a plain comment segment, and it lists an XMP packet, an ICC profile or a Photoshop resource block as present without parsing them. Inside a PNG it reads IHDR, tEXt, uncompressed iTXt, pHYs, tIME, gAMA, sRGB and an eXIf chunk when one is there. A compressed zTXt or iTXt chunk is listed as present and not decompressed, because there is no decompressor in this tool, and the row says so instead of leaving a blank.
Why does one column say 178/100 and the other f/1.78?
Because one is the file and the other is us. EXIF stores an aperture as a rational number, a shutter as a fraction of a second, a date with colons in it and an orientation as a number from 1 to 8. The stored column prints those exactly as the file holds them, with no rounding and no unit added, and the reading column gives the interpretation with the rule visible next to it: f/1.78, 1/200 s, 2026-07-14 11:02:33, or rotate 90 degrees clockwise to display upright. The switch in the metadata pane flips between the two, and the table under the stage shows both at once. Where there is nothing to interpret, the reading column says as stored rather than repeating the value back at you.
The viewer says my photo has no metadata. Where did it go?
It is genuinely not there, and the page says so instead of guessing: with no EXIF block, there is no camera, no date and no GPS to show, and the fields that remain come from the frame header rather than from EXIF. That is the normal outcome for a picture that has been through a messaging app, a social network or an export that writes a fresh file, because each of those rewrites the image without copying the original block across. A screenshot of a photo is a new image too, and carries the metadata of the screenshot rather than of the photo. This page reads a file and never changes one, so it cannot put anything back and does not claim to.
Can it strip the metadata out of my photo?
No. This tool reads, and it never writes a file, so nothing you open here is modified in any way. What it gives you instead is the full inventory, and a JSON export of it through Copy or Download, so you know exactly what a file would reveal before you decide whether to send that file or a re-exported copy of it. Removing the fields is a different job with different risks, and a viewer that quietly edited your only copy would be the wrong place to do it.
How large a file can I open?
Up to 20 MB at a time, which is 20,971,520 bytes. The whole file is held in this browser while it is read, so that number is a memory bound rather than an upload limit: nothing is uploaded, and there is no per-day count, no sign-up and no paid tier behind the limit. A larger file is refused with both sizes named rather than read part way. In practice the metadata sits in the first few kilobytes of a photo, so a 20 MB ceiling covers the full-resolution output of every phone and nearly every camera.
What happens with a damaged or hand-edited file?
It is read as far as it can be trusted and no further. An EXIF block is a TIFF directory built out of byte offsets written by whatever made the file, so every offset here is checked against the block before it is followed: an entry pointing past the end is dropped and counted, a directory claiming more entries than the block can hold is refused whole, and a chain that points back at a directory already read is followed once and stopped. Every refusal is listed under the stage, a directory pointer that missed is named with the byte it pointed at, and the reading you get is what survived those checks. A truncated JPEG segment or a PNG chunk that declares more bytes than remain stops the read at that point and says where, and a file that is not an image at all is refused with the first four bytes shown.

Reads the metadata the file already contains and shows it unchanged, including GPS coordinates when they are there. The file is read in your browser and never uploaded. It cannot tell you whether a tag is true, because a camera or an editor writes these fields, and a file that carries none is reported as carrying none rather than filled in by guesswork.