Image Metadata Viewer
Read the metadata a photo carries, from the camera and lens to any GPS coordinates. Drop a photo in and the page reads 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 readable supported EXIF GPS coordinates when the file has them. Two things make this different from the viewers you land on for this search. First, each accepted supported field appears twice, as a stored-value display preview 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 supported EXIF coordinate can be read, 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. For PNG, the supported structures are 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 no readable supported metadata is reported without inventing camera, date or GPS fields, 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. To view image or photo metadata online, open a JPEG or PNG from your device, drop it into the viewer, or paste an image from your clipboard. Check the current read status and notes, switch between reading and raw, and inspect the grouped table. Show JSON, Copy and Download provide complete decoded values for accepted supported fields, with source ranges, refusals and scope notes. They do not modify the photo. XMP, ICC, Photoshop/IPTC and compressed PNG text remain unparsed, so this report is not a complete inventory of everything an image could disclose.
sample-exif.jpg 4032 x 3024 pixels (declared header) JPEG, 349 bytes Baseline, colour (3 components), 8 bits per channel Supported metadata report A built-in sample: a header written by this page, not a photograph.
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 Pixel width 4,032 pixels (declared header) Pixel height 3,024 pixels (declared header) Readable EXIF structure: 12 decoded fields.
Showing a sample. or drop one here. It stays in this tab.
- Tags
- 14
- Camera
- Apple iPhone 15 Pro
- GPS
- no supported fix
- Taken
- 2026-07-14 11:02:33
Showing a built-in sample, not your photo.
No supported EXIF GPS fix.Readable EXIF structure: 12 decoded fields. No GPS coordinate fields were found in the inspected supported EXIF structure. Other metadata formats this page does not decode may still contain location information.
JPEG, 4032 x 3024 declared pixels, 14 decoded fields. No GPS coordinate fields were found in the inspected supported EXIF structure.
Supported fields, stored preview and reading
| Field | Stored | Reading |
|---|---|---|
| From the file header | ||
| Pixel width | 4032 | 4,032 pixels (declared header) |
| Pixel height | 3024 | 3,024 pixels (declared header) |
| EXIF | ||
| Make | Apple | as stored |
| Model | iPhone 15 Pro | as stored |
| Orientation | 6 | Rotate 90 degrees clockwise to display upright |
| Software | 17.5.1 | as stored |
| Date and time | 2026:07:14 11:02:33 | 2026-07-14 11:02:33 |
| Exposure time | 1/200 | 1/200 s |
| F number | 178/100 | f/1.78 |
| ISO speed | 64 | ISO 64 |
| Date and time (original) | 2026:07:14 11:02:33 | 2026-07-14 11:02:33 |
| Flash | 16 | Flash did not fire (flash byte 16) |
| Focal length | 24/1 | 24 mm |
| Lens model | iPhone 15 Pro back triple camera 6.86mm f/1.78 | as stored |
The stored column is a display preview of the decoded field; controls are escaped and long values are marked as shortened. The reading column interprets supported values and says as stored where there is nothing to add. Show JSON, Copy and Download retain complete decoded values for accepted fields, their source ranges and any refusal or scope notes.
- camera, lens, date, orientation
- says so, lists nothing
- flagged before you share
- keywords, density, modified date
The photo with exif sample is on screen. JPEG and PNG metadata are supported. The whole file is held in this browser with no fixed file-size cap; available browser memory still limits reading. Metadata decoding stops at 2,097,152 decoded field bytes, 4,096 structural records, 1,024 entries per TIFF directory and eight TIFF directories; anything beyond those bounds is named as refused and the report is marked partial. HEIC, WebP, AVIF, TIFF and camera raw files need a viewer that supports their format.
Common questions
- Is my photo uploaded anywhere?
- No. The file is read by this page with a FileReader and parsed in your own browser, with no image or metadata upload and no account. Ordinary page loading and static usage measurement requests do not contain the chosen image, filename, metadata or coordinates. 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 viewer restores valid column and sample preferences read-only and saves only a deliberately changed valid choice. It preserves other compatible saved fields and leaves unusable records unchanged; 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 shows decimal coordinates when valid supported EXIF latitude and longitude fields can be read; otherwise it says that no supported fix was read or that GPS is unreadable or unknown. Under the stage the reason is spelled out, with valid altitude and UTC fix time when those optional fields are present, and the stored coordinate in degrees, minutes and seconds. Latitude must have an N or S reference and longitude an E or W reference; S and W are negative. Coordinates require three nonnegative unsigned rational components with nonzero denominators, minutes and seconds below 60, and combined latitude at most 90 degrees and longitude at most 180 degrees. Missing, malformed or refused values do not produce a guessed position. Unparsed metadata may still contain location information, and this viewer does not infer a place from the picture, geocode an address or authenticate the tags.
- 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 those formats are outside this viewer’s supported scope. 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. Truncated or malformed supported files can produce a partial report of accepted fields with named refusals and scope notes. This parser reads structures and declared dimensions; it does not decode all image pixels or validate PNG checksums.
- 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 displays decoded supported values, preserves rational fractions without adding a unit, escapes control characters and marks any shortened display preview, 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. Display text is limited to 512 Unicode code points and numeric arrays to 24 components, with the full count shown when shortened. The JSON report retains complete decoded values for accepted fields, including trailing whitespace and escaped controls; it is not a byte-for-byte copy of the original metadata block. Invalid stored date or GPS fields remain raw with a reason instead of receiving an invented interpretation.
- The viewer says my photo has no metadata. Where did it go?
- It means that no readable supported EXIF fields were found, rather than proof that every metadata structure is absent. Frame-header fields, PNG text and unparsed blocks are separate; malformed or refused metadata is reported with its reason. 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, when that workflow rewrites the image without copying its original EXIF block. 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 never rewrites your image, so nothing you open here is modified in any way. What it gives you instead is a report of accepted supported metadata with notes on refused or unparsed data, and a JSON export through Show JSON, Copy or Download, so you can inspect those fields 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?
- The viewer has no fixed file-size cap; older versions of this page refused files over 20 MB (20,971,520 bytes), and that cap has been removed. It holds the whole file in browser memory while reading, so practical limits depend on the browser and available memory. Read failures, cancellation and a 15-second read deadline clear the current output and explain how to retry. Metadata decoding separately uses an aggregate budget of 2,097,152 field bytes, 4,096 structural records, up to 1,024 entries per TIFF directory and eight TIFF directories; fields or structures beyond those bounds are named as refused and the report is marked partial. These are parser resource bounds, not an upload limit or a guarantee that every large or malformed file can be fully read.
- 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. Detected unsupported types, bad offsets, malformed structures and resource refusals are listed in the report, 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. Empty readable directories are distinguished from malformed ones. A decoded tag is still only a statement stored by a camera or editor, and a partial report is not proof that the image is intact or safe to share.
- What do Copy and Download give me?
- They provide the current supported metadata report as JSON, including file details, complete accepted decoded values, interpretations, source ranges, supported GPS state and reason, refusals and scope notes. They do not download viewer software or change the photo. Download hands the JSON file to the browser; it does not confirm an operating-system save. If copying or download preparation is refused, Show JSON exposes the complete current report for manual selection and copying.
- Can it read AI image, ComfyUI or Stable Diffusion generation metadata?
- Yes, when the generator stored it as PNG text. Stable Diffusion WebUI (AUTOMATIC1111-style) parameters text is shown whole, with the prompt, negative prompt, steps, sampler, seed and model exactly as written, and ComfyUI prompt and workflow JSON is shown whole with its node count. Show JSON, Copy and Download keep the complete text. It reads only what was stored: it cannot tell whether an image is AI-generated, recover a prompt that was stripped, draw a ComfyUI graph, or decode compressed text or XMP, and a stored prompt is not proof of how an image was made.
- Does it work on a Mac, Windows, Android or in Chrome?
- Yes. It is a web page, so there is nothing to install: open it in a current browser on a Mac, a Windows PC, an Android phone or an iPhone and choose a photo from that device. It is tested in Chromium, the engine behind Chrome and Edge, and in WebKit, the engine behind Safari, at desktop and phone screen sizes. It is not a browser extension or a native app, and it does not read photos from other tabs or websites.
Reads supported JPEG and PNG metadata in your browser; the file is never uploaded and stays unchanged, and a file that carries none is reported as carrying none. Display previews escape controls and mark shortened text, while JSON keeps every accepted decoded value and names refused fields. Tag truth, provenance, pixels and PNG checksums are not verified, and a missing readable EXIF GPS fix does not prove that unparsed metadata holds no location.