EXIF Viewer / Stripper
See every EXIF tag in a photo — including GPS — and strip metadata losslessly. Photos are read on this device, never uploaded.
Drop a photo here — it is read on this device, never uploaded.
JPEG, PNG or WebP · up to 50 MB
No drag and drop needed — the button opens this device's file picker.
Photos are parsed inside this tab — open your network tab and check: nothing is uploaded.
No photo loaded — the tag table fills in here.
Stripping removes whole metadata segments and copies the image data byte for byte — no recompression, and the result is re-parsed to prove it.
Do it offline:$ exiftool -all= -tagsfromfile @ -icc_profile:all photo.jpg
How to use it
- Drop a photo on the pane or choose one with the button. JPEG, PNG and WebP are read; HEIC and RAW are refused by name rather than guessed at.
- Read the tag table, grouped by directory: image (IFD0), camera (Exif IFD) and location (GPS IFD). GPS values stay masked until you press reveal — useful on a shared screen.
- Check the strip plan: exactly which segments will be removed, with the bytes each one takes. The ICC color profile is kept by default.
- Press strip, then download the clean copy. The result shows before and after sizes and a verification chip computed by re-parsing the stripped bytes.
A photo carries more than pixels: camera make and model, the moment it was taken, lens settings, editing software — and, on most phones, the GPS coordinates of where you stood. This tool lists every EXIF tag a JPEG, PNG or WebP holds, then strips the metadata out losslessly, without recompressing. The file is parsed on this device and never uploaded.
How it works
Each format is a container of labelled blocks: JPEG files chain marker segments (APP1 for Exif and XMP, APP13 for IPTC, COM for comments) ahead of the compressed scan; PNG files chain chunks (eXIf, tEXt, tIME); WebP files hold RIFF chunks. The tool walks the blocks and prints the full inventory — every byte accounted for on screen.
The Exif block itself is a small TIFF file: a header naming the byte order (both are read), then directories of 12-byte entries called IFDs. IFD0 describes the image and points at the Exif IFD (camera settings) and the GPS IFD (position as degree/minute/second fractions, converted to signed decimal). Crafted files lie, so every offset is bounds-checked, loops are detected, and an entry count past 1,000 is refused rather than trusted.
Stripping is a byte splice, not a re-encode: the copy simply leaves the metadata segments out, so the compressed image data is byte-for-byte identical and pixel quality cannot change. Cleaners that re-encode produce new pixels and artifacts; a splice provably does not — the page re-parses its own output and prints how many metadata segments remain.
Examples
exif-gps.jpg — the checked-in oracle photo: a hand-built EXIF block (validated by Apple ImageIO) spliced into an 8×8 JPEGMake: Glasswing
Model: OracleCam 1
Orientation: Rotate 90 CW
DateTimeOriginal: 2026:08:18 12:00:00
FNumber: f/2.8
GPSLatitude: 37° 46′ 29.64″
GPS decimal: 37.7749, -122.4194The GPS directory stores position as three fractions per axis. The decimal line is the derived value: 37 + 46/60 + 29.64/3600, negated for south or west references.
The same photo, stripped with the color profile kept (the default)APP1 (Exif metadata): 266 B
APP1 (Exif metadata): 78 B
APP13 (IPTC/Photoshop metadata): 58 B
total removed: 402 B · output re-parse: EX_NO_METADATATwo Exif blocks: the converter that produced the base image had already written its own. The last line is not a promise — the engine re-parses the stripped bytes and reports the verdict.
base-noexif.jpg — the same picture before the EXIF splice, fresh from a format converterColorSpace: sRGB
PixelXDimension: 8
PixelYDimension: 8
metadata segments: 2 (APP1 + APP13)A file that was never near a camera still carries metadata: the converter (Apple's ImageIO) wrote an Exif block and an APP13 segment during conversion. “I exported it, so it is clean” is worth checking, not assuming.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
GPS decimal conversion is plain fraction math
Latitude 37/1 46/1 2964/100 means 37° 46′ 29.64″: the decimal is 37 + 46/60 + 29.64/3600 = 37.7749, rounded to six decimal places (about 11 cm); a south or west reference flips the sign. The raw fractions stay visible next to the derived value.
Stripping removes Orientation — and says so
Rotation on many cameras is a tag, not a pixel change, so some viewers show a stripped image rotated; the result panel warns when that applies. Baking rotation into pixels would mean re-encoding, which this tool refuses by design.
The ICC color profile is kept by default
A profile is technical color data, not identifying metadata, and removing it can visibly shift colors. Unticking the option removes JPEG profiles; PNG and WebP profiles are always kept, and the result says which happened.
XMP is inventoried and removed whole, not field-parsed
XMP is an XML packet that can mirror EXIF values and add editor history. This version lists it as one block with its byte size and strips it as one block, without parsing the fields inside.
Embedded thumbnails travel with the metadata
The Exif block can hold a second directory (IFD1) with a preview image — a cropped photo can carry an uncropped thumbnail. It lives inside APP1, so stripping removes it too.
Common errors
This looks like a HEIC/HEIF container — probable cause: only JPEG, PNG and WebP are read in this version; HEIC/HEIF, AVIF, TIFF-based RAW, GIF and BMP files need converting first.- iPhones shoot HEIC by default. No HEIC decoder ships in this version, so the file is refused by name rather than half-read; export as JPEG first and the metadata reads fine.
The file ends in the middle of its structure — probable cause: a cut-off download, an interrupted copy, or corruption; re-export or re-download the photo.- Segment and chunk lengths are declared up front, so truncation is detectable the moment a declared length runs past the end. Nothing is guessed from a partial structure.
FAQ
Is my photo uploaded when I view or strip its EXIF data?
No. The file is parsed inside this tab — open your browser's network panel before dropping a photo and watch: no request carries it. Upload-based tools must promise deletion after some hours; here there is nothing to delete.
Does stripping EXIF data recompress or degrade the image?
No. Whole metadata segments are spliced out and the compressed image data is copied byte for byte. The size drops by exactly the removed segments' bytes, and the result panel shows a re-parse of the output as proof.
Do screenshots contain EXIF or GPS data?
Usually not — screenshot pipelines write no camera or GPS tags, though some add a software note or a time stamp. Drop one in: the tag table fills, or the page says the file is already clean.
Why might a photo display rotated after stripping?
Many cameras store rotation as an Orientation tag instead of rotating pixels. Stripping removes that tag, so viewers that relied on it show the sensor's original framing — the result warns when that applies.