EXIF Viewer & Stripper

Inspect the EXIF metadata hidden in a JPEG or PNG — camera, exposure, even GPS — then download a cleaned copy with it stripped.

EXIF parsing happens locally in your browser. Your photo never leaves your device.

Photo Metadata

Drop a photo here

JPEG and PNG only — WebP and GIF have no readable EXIF segment here. Click to browse.

How It Works

EXIF lives in a single APP1 segment near the front of a JPEG file, and that segment holds a miniature TIFF structure: a 0th IFD with camera body tags, an Exif sub-IFD with shooting parameters, and an optional GPS sub-IFD. The tool hands your file's bytes to piexif.js, which walks that structure tag by tag, then labels each numeric ID with its human name (Model, ExposureTime, …) from the TIFF registry and formats its value for reading.

Rationals and byte arrays
TIFF stores fractions as rational pairs — a shutter speed of 1/200 is the number pair 1 over 200 — and versions or MakerNote blobs as byte arrays. The table converts rationals into readable fractions or decimals and shows binary payloads only as a byte count, because their inner layout is proprietary to each manufacturer.
GPS: degrees, minutes, seconds in decimal
Coordinates are stored as three rationals each for latitude and longitude (degrees, minutes, seconds) plus N/S and E/W references. The tool recombines them — degrees + minutes/60 + seconds/3600, negated for S and W — and prints plain decimal coordinates, exactly what a map or the geoh.io-style sites will resolve. If those tags exist, you get the green banner above the table.
Removing without recompressing
The cleaned download calls piexif.remove(), which excises the APP1 segment (and the thumbnail it carries) and copies every remaining byte verbatim. The entropy-coded image data is never decoded, so there is zero generation loss — unlike editors that open, rasterize and re-save the photo.

Frequently Asked Questions

What does EXIF actually hold?

EXIF is a block of structured metadata embedded inside the image file itself. Camera apps write the make and model, lens, focal length, aperture, shutter speed, ISO, orientation, the shooting timestamp, and — when the phone had a fix — the GPS latitude and longitude plus altitude. Software tags (editing app, color profile notes) can also ride along. Every field you see listed here comes from the file; nothing is fetched from anywhere.

Can a camera model reveal my identity?

It can contribute. The Model and Make tags say exactly which device took the shot, and a unique serial number sometimes appears in maker-note data. Combined with the GPS block and the exact timestamp, a photo can place you at a location with your device named. That combination is why messengers strip EXIF before sending, and why the cleaned download here exists.

Why does a PNG always report no EXIF?

PNG is a different container: descriptive data lives in tEXt/zTXt text chunks (and, since 2017, an optional eXIf chunk), not in the JPEG APP1 segment this reader parses. So a PNG honestly loads with zero tags shown, and the strip step is not offered for PNG — piexif.js cannot rewrite PNG chunks. Use an image editor that understands PNG text chunks if you need to scrub one.

Does stripping the metadata recompress or degrade my photo?

No. piexif.js removes the EXIF segment at the byte level and copies the compressed image data verbatim, so the cleaned JPEG is the same pixels at the same quality — there is no decode-and-re-encode step, and no generation loss. File size drops only by the bytes the metadata occupied.

Is anything uploaded to a server?

No. The file is read with a local FileReader and parsed by piexif.js running entirely in your browser — the library is bundled with this page, so no network request is involved. Disconnect from the internet and the viewer still works; your photo never leaves your device.