When you'd use this
Right before posting smartphone photos to social media, a blog, real estate listings, or marketplace ads — to remove the GPS coordinates, camera model, and capture time embedded in the file. Most camera apps record location by default, so unprocessed photos can leak your home or workplace location.
What gets removed
- JPEG: APP1 EXIF (GPS · camera model · capture time · lens info · exposure settings) and XMP metadata.
- PNG: tEXt · iTXt · zTXt · eXIf chunks. Pixel data is preserved.
- WebP: EXIF and XMP chunks.
- GIF: only the first frame is converted to PNG (animation is dropped).
Each file shows whether metadata was detected, and stripped files are
named <original>-clean.<ext>.
Are the pixels affected?
- JPEG · WebP — re-encoded at quality 95. Visually lossless but not byte-identical. (Avoiding re-encode would require parsing every JPEG segment, which is significantly more complex.)
- PNG — oxipng strips ancillary chunks only; pixel data is preserved. Truly lossless. Files often get smaller as a side effect of re-encoding.
How is this different from image-compress?
image-compress aims at reducing file size and exposes a quality slider, output format, and resize controls. This tool is metadata- focused — minimal options, pixel preservation. Different search and UX intent ("shrink the file" vs "strip location data").
Local processing
Decode and re-encode both run through WASM codecs (mozjpeg, oxipng, libwebp) inside the browser. Up to 50 files in the queue with two Web Workers in parallel. Neither original nor stripped result is sent to a server.
When this isn't the right tool
- HEIC (iPhone photos) — browsers can't decode HEIC. Export as JPG from the Photos app first.
- Inspecting the metadata in detail — this tool only flags "detected / removed". Use a dedicated viewer like jimpl or exif.is if you want to see the GPS coordinates and camera model first.
- Preserving GIF animation — only the first frame survives; motion is dropped.
Metadata removal is the point
JPEG EXIF (GPS · camera · timestamp), PNG tEXt/iTXt/eXIf chunks, and WebP EXIF/XMP are all removed. Processing runs entirely on @jsquash WASM (mozjpeg · oxipng · libwebp) in the browser. Neither original nor stripped result is sent to a server.