Image metadata viewer

Drop a photo, read the embedded tags, filter by topic, copy or export JSON. The page never uploads your file.

Local only

Load a frame

Tap this panel or drop a file from your desktop. We parse tags in the browser.

JPEG · TIFF · HEIC varies by browser · PNG rarely includes EXIF

Thumbnail of loaded photo

Size
Pixels
MIME
Depth

Lens on the data

Tags you forgot were still attached

Every JPEG from a 4032×3024 phone capture dated 2024-09-12 can still carry maker notes, orientation, and sometimes coordinates until an export step removes them.

This workspace is for the moment you need the truth inside the file, not the caption on social media.

Editorial note: EXIF is a convenience for archivists and a liability for privacy. Treat GPS blocks like sealed envelopes. Open them on purpose.

Who opens the envelope on purpose?

What shows up here versus what never will

SignalTypical source
Shutter, aperture, ISO, focal lengthCamera body EXIF from straight-out-of-camera JPEG
Date and time stringsCamera clock or phone locale; not always UTC
GPS latitude and longitudePhone cameras when location services were on for the camera app
ICC profile name inside metadataSometimes absent even when color looks fine on screen
Perceptual “dominant color” or brand hex codesNot part of EXIF; use dominant color or palette extractor for pixels instead

Hard limits worth stating upfront

EXIF.js walks the binary markers your browser exposes. HEIC support depends on the OS and browser pairing; some builds hand the decoder a raster with no tags attached. Animated GIF and many PNG exports arrive with empty tag maps even when the picture looks rich.

We do not validate legal admissibility, chain of custody, or tamper evidence. For court-grade work you need forensic tooling plus documented hashes. Here you get a fast readout for creative and operational workflows.

Large bursts slow down slightly because the parser reads the whole object you selected. Staying under a few dozen megabytes per file keeps the UI responsive on phones.

Inside the readout, without the engineer voice

You choose a file. The browser hands our script a blob. EXIF.js looks for APP1 segments and other known pockets where manufacturers stash tag dictionaries. When a field resolves, we print the human label you expect from camera menus, not only the raw integer.

Orientation tags explain why a thumbnail looked sideways in one viewer yet upright in another. Software fields name the exporter that touched the file last, which matters when color shifts appear after a round trip through a mobile editor.

GPS blocks arrive as degree-minute-second arrays. We convert them to decimal degrees for maps and label the row so you notice before you paste coordinates into a public thread.

Filters along the top slice the same object different ways so mobile readers do not scroll through fifty unrelated keys. “Everything” remains the honest dump, including odd vendor tags power users recognize from their own bodies.

Workflow mistakes we see in the wild

People screenshot a histogram from a desktop app, send the PNG, then ask why metadata disappeared. The screenshot never carried the original tags. Attach the native JPEG or TIFF when someone needs settings.

Others assume “remove location” in a social app scrubbed EXIF everywhere. Many apps strip GPS yet leave body serial fields alone. Read the file here before you treat silence as safety.

Teams sometimes compare timestamps across time zones without noting EXIF date strings often follow the camera clock, which drifts or stays on daylight rules from another country. Pair tags with your travel log instead of trusting them as legal timestamps.

Why “export JSON” exists

Clipboard copy grabs raw tag keys for Slack or email. Export bundles filename, size, MIME type, ISO timestamp of extraction, plus the tag object so you drop one attachment into a ticket instead of twelve screenshots.

After you confirm metadata, heavy re-encode steps belong in dedicated tools. When file size matters more than tags, run compressor on a duplicate so you keep an untouched original elsewhere.

Page reviewed March 2026. Behavior follows EXIF.js parsing rules in current stable browsers.

Metadata questions we hear in support threads

Short answers tied to this reader, not generic photography essays.

Why does my PNG show “No EXIF blocks”?

Most PNG writers skip EXIF or store only a few chunks. The image is fine; the tag map is simply empty. Try the original JPEG from the camera roll or an uncompressed export from your raw developer.

Do coordinates mean the photo was taken exactly there?

They record where the device thought it was when the shutter fired. Tall buildings, spoofed location services, or imported scans can lie quietly inside the same fields. Cross-check with context before you trust the pin.

Does Toolexe store my photo?

No upload occurs. The file stays inside your browser tab memory until you close or refresh the page, same as our other local image tools.

Is the ISO speed value reliable for exposure math?

It reflects what the body wrote, including auto-ISO lifts. For scientific exposure matching you still want raw sidecar data or a calibrated meter; EXIF here is a label, not a lab instrument.

What if Copy JSON fails?

Some locked-down browsers block clipboard APIs until you interact again or grant permission. Export JSON still downloads a file you open in any editor.