EXIF Stripper
Remove all EXIF metadata (GPS, camera info) before sharing.
EXIF Stripper removes metadata from photos before you share them — "Remove EXIF metadata from images to protect your privacy." Drop one image and the "EXIF Summary" panel immediately lists what was found: make, model, software, dateTime, gps, lensModel, iso, exposureTime (formatted "1/{n}s"), and fNumber (formatted "f/{n}") — or "No EXIF data found." if the file has none (a matching info toast fires too).
"Strip EXIF Data" ("Stripping...") re-draws the pixels onto a fresh canvas and re-encodes, so the new file carries no EXIF segments at all. The result shows "Original", "Result", and a green "Saved" stat (bytes removed — GPS-heavy phone photos shrink the most), then "Download" keeps the original filename. Reading metadata uses the bundled exifr library; the strip path is pure canvas. Everything runs locally — no network, no AI.
How it works
lib/imageExifStripper.ts calls Exifr.parse(file, true) to read Make, Model, Software, DateTimeOriginal|DateTime, GPS, LensModel, ISO, ExposureTime, and FNumber into an ExifSummary object for the panel. Stripping doesn't surgically delete tags — it re-draws every pixel to a fresh canvas and toBlob encodes (PNG for PNG sources, else JPEG 0.92), producing a brand-new file with no EXIF segments whatsoever.
Redux exifStripperSlice holds item, exifSummary, result, and isProcessing. exifr is a bundled npm dependency used only for metadata reading; the strip path is pure Canvas 2D. No network, no AI — both parse and export are local. Note: re-encoding does not re-embed ICC profiles beyond what the browser applies when drawing.
How to use
- Drop one image (accept image/*; single file).
- Read the "EXIF Summary" panel — or the "No EXIF data found." empty text / info toast if nothing was parsed.
- Click "Strip EXIF Data" (button reads "Stripping...").
- Wait for the "EXIF data stripped!" toast.
- Compare the "Original", "Result", and green "Saved" size stats.
- Click "Download" (original filename) or "Start Over" to reset.
Tips
- "Saved" shows bytes removed — GPS-heavy phone photos shrink the most.
- Even when no EXIF exists, stripping still re-encodes and normalizes the file structure.
- JPEG re-encode at 0.92 is slightly lossy — strip archival photos carefully (PNG sources stay PNG).
- The tool re-renders pixels; it does not re-embed ICC color profiles beyond what the browser applies when drawing.
EXIF Stripper FAQ
Does this remove GPS location?
Yes — EXIF (including GPS) is dropped because pixels are re-encoded into a brand-new file.
What shows in the EXIF Summary?
Make, Model, Software, DateTime, GPS coords, Lens, ISO, Exposure ("1/Ns"), and Aperture ("f/N") when present.
Why did I see "No EXIF data found"?
exifr returned no tags (or threw) — the file had no readable EXIF to summarize.
Is anything uploaded?
No — parsing with exifr and canvas export are both local; there is no network and no AI.
Can I strip multiple files in a batch?
No — it's a single-image flow; clear and repeat for each photo.
Credits
- exifr — EXIF parser used by getExifSummary in lib/imageExifStripper.ts