Image metadata remover
Remove supported EXIF/GPS, XMP and Photoshop APP13 segments from JPEG, then create a local PNG with orientation applied and output tags checked.
How to use
Choose a local JPEG and read the supported profile, then start removal. The parser first checks JPEG, EXIF and XML structure and removes supported EXIF/XMP/Photoshop segments from a temporary copy before decoding. EXIF orientation is applied once and a PNG is created. Review dimensions, preview and removed-segment counts, then download; the original is unchanged.
A stored 40×24 image with EXIF orientation 6 becomes a 24×40 PNG. With one EXIF segment containing GPS, one XMP segment and one Photoshop APP13 segment containing IPTC, the counts are 1/1/1 removed segments. Output eXIf and PNG text chunks are checked for absence; an empty metadata object is not the only check.
Support & limits
Re-encoding changes the format and bytes and can increase file size. ICC and other retained segments remain in the decoding copy, but final PNG does not promise to preserve the ICC profile or match every camera color. Visible text and information hidden in pixels are not erased. EXIF/GPS is removed as a whole segment; the tool does not interpret every coordinate or MakerNote. The entire Photoshop APP13 segment is removed, including non-IPTC resources if present. XML 1.1, DTDs, custom entities and duplicate/conflicting orientation are rejected; XMP orientation needs matching EXIF. The 256 KiB cap is cumulative across metadata; 8 KiB applies per XMP packet, with two small synchronous passes for policy and meaning, not an XML parsing worker. A terminable worker checks the complete PNG and each chunk CRC within the same deadline, removes browser-emitted deBG if present and checks again, preserving accepted chunks byte-for-byte. sBIT describes color precision; iCCP is a profile emitted by the encoder, with no profile-privacy guarantee. The 15-second deadline and cancelled output cannot immediately stop native decode/toBlob; the session remains reserved through cleanup. Limits are not a measurement of the browser’s total heap.
Common questions
Does removing tags mean the image has no personal information, or that every JPEG is supported?
No. The profile covers supported segments and checks that output PNG has no eXIf, tEXt, iTXt, zTXt, tIME or unsupported chunks. Browser-generated color/physical-dimension chunks may remain, and information can remain visible or encoded in pixels. Grayscale, CMYK, EXIF thumbnails/next-IFD, Extended XMP, unknown APP1/APP13 and EXIF ColorSpace other than sRGB are unsupported. A rejected file may work correctly elsewhere; rejection means this processing path does not establish preservation of its properties within the stated profile.