Remove EXIF
Strip EXIF, GPS, IPTC, and XMP in this tab. JPEG, PNG, and WebP keep their format. HEIC is written as a JPEG. The photo is not uploaded.
Guide: Remove EXIF from a photo. Related: HEIC to JPG · Compress to KB · iPhone HEIC · PNG to JPG · resume photo.
JPEG, PNG, WebP, or HEIC · stays on this device
Steps
- Drop a JPEG, PNG, WebP, or HEIC, or click the zone and choose one. Strip metadata stays disabled until a file is chosen. Choosing a file only reads it into this tab. Files above 80 MiB (83,886,080 bytes) are refused.
- Press Strip metadata. JPEG, PNG, and WebP are rewritten in the tab: EXIF, XMP, IPTC, JPEG comments, and PNG text/eXIf/tIME chunks are dropped. ICC colour profiles stay. HEIC loads libheif-js from
/assets/libheif/on that press, then writes a JPEG. - Read the list. Names come from the file (TIFF/EXIF tags, IPTC datasets, PNG keywords, XMP property names). A photo with none of those prints “None found.” Unknown tags print as
tag 0xXXXX. - Download the cleaned file from a local
blob:URL. JPEG/PNG/WebP keep that format; the name ends in-no-exif. HEIC downloads as a JPEG. This page does not upload the photo.
How it works
Choosing a file reads it into memory in this tab, up to 80 MiB (83,886,080 bytes). Nothing is posted to LocalPix. The scanner looks for segments and chunks that actually exist in the bytes, then lists the names those containers already use.
JPEG. APP1 Exif, APP1 XMP, APP13 Photoshop/IPTC, COM comments, and non-ICC APP2 are removed. APP0 JFIF, APP2 ICC_PROFILE, and APP14 Adobe stay so colour and the JPEG itself still decode. Pixel data after SOS is copied, not re-encoded. If the camera stored rotation in the Orientation tag, that tag is removed with the rest of EXIF; the pixels are not rotated.
PNG. Chunks eXIf, tEXt, zTXt, iTXt, tIME, and dSIG are dropped. IHDR, PLTE, IDAT, IEND, tRNS, gAMA, cHRM, sRGB, iCCP, and pHYs stay. A PNG with no those chunks downloads as a copy of the original bytes.
WebP. The EXIF and XMP chunks are dropped. VP8 / VP8L / ALPH / ANIM / ICCP stay. If a VP8X header is present, its EXIF and XMP flags are cleared.
HEIC. This page does not rewrite a HEIC container. It decodes the first still with libheif-js 1.23.5 (1,463,506 bytes, LGPL-3.0) from /assets/libheif/, the same decoder as HEIC to JPG, then encodes JPEG at quality 0.92. Canvas JPEG has no EXIF. Tags listed for a HEIC come from an in-file scan of Exif and XMP bytes. Accepted brands are heic, heix, hevc, hevx, mif1, and msf1.
AVIF is not stripped here. Convert it on AVIF to JPG, then bring that JPEG back. A named kilobyte cap is a second step on Compress to KB.
What the status line says
Read this line before you send the file. Kilobytes are blob.size / 1024, one decimal place. The download name ends in -no-exif plus the output extension.
- Before a file. “Waiting for an image.” Strip metadata stays disabled.
- After you choose a file. “Ready: ” plus the file name. A file above 80 MiB prints that byte count and stays disabled.
- None found. “None found. Download is a copy of the original ({kb} KB).” JPEG/PNG/WebP bytes are unchanged. The list under What was removed says the scanner saw no EXIF, XMP, IPTC, JPEG comment, or PNG text/eXIf/tIME chunk.
- Fields were dropped. “Stripped {n} field(s). {in} KB → {out} KB.” {n} is the number of names listed. HEIC adds that the download is a JPEG from libheif + canvas (quality 0.92).
- AVIF. “AVIF is not stripped on this page. Convert it to JPG first, then strip that JPEG.”
- Not an image this page reads. “This file is not a JPEG, PNG, WebP, or HEIC this page can read.”
Limits
- 80 MiB in memory. 83,886,080 bytes. The whole file is read into the tab. Larger files stop on the page.
- JPEG/PNG/WebP are container edits. Pixels are not re-encoded. Removing Orientation does not rotate the bitmap.
- HEIC becomes JPEG. Quality 0.92. Live Photo motion and extra stills in the container are not in the download. libheif loads on Strip metadata, not on file pick.
- ICC stays. JPEG
ICC_PROFILE, PNG iCCP, and WebP ICCP are colour profiles, not the EXIF/IPTC/XMP list, and they are kept. - Names come from the file. The page does not invent GPS place names or camera marketing names. A tag without a spec name prints as
tag 0xXXXX. - Not a guarantee of untraceability. Thumbnails inside the pixels, burned-in text, or metadata this scanner does not parse can remain. There is no map preview and no network tile API.
- No account and no model for JPEG/PNG/WebP. HEIC uses the same on-demand libheif download as convert. This page does not use the background-removal allowance.
FAQ
Does my photo leave the device?
No. The strip runs in this tab. The download is a local blob URL. HEIC may GET libheif from /assets/libheif/; that request is the decoder, not your photo. Verify local · 0-byte upload proof.
What if the photo has no EXIF?
The status prints “None found” and the list is empty. JPEG, PNG, and WebP download as a copy of the original bytes. A HEIC still becomes a JPEG, because this page cannot rewrite HEIC boxes.
Which formats are stripped in place?
JPEG, PNG, and WebP keep their format. HEIC is decoded with libheif and written as JPEG. AVIF is refused here; use AVIF to JPG first.
Will GPS coordinates become a map?
No. If GPSLatitude or GPSLongitude exist as TIFF tags, those names (and the numbers stored with them) are listed and removed. This page does not call a map or tile API.
Does this use the background-removal quota?
No. JPEG/PNG/WebP strip does not download ormbg. HEIC downloads libheif the same way HEIC to JPG does. Neither path spends the cutout allowance.
The cleaned JPEG looks sideways.
Some cameras store rotation in the Orientation tag instead of in the pixels. Stripping EXIF removes that tag. Rotate in a local editor if the preview is sideways. Walkthrough: Remove EXIF from a photo.
Sources
- CIPA DC-008 / Exif — tag names listed from the file use this vocabulary.
- PNG ancillary text chunks (W3C) — tEXt, zTXt, iTXt, tIME; eXIf is the PNG EXIF chunk.
- WebP RIFF container — EXIF and XMP chunks, VP8X flags.
- Blob on MDN —
blob.sizeis the byte count the status prints, divided by 1024.