Remove EXIF data from photos

Write a copy with the metadata blocks dropped and the compressed image data untouched

The tool loads here. It needs JavaScript, because the work happens on your device.

Your files and your privacy

Your photograph is never uploaded. It is read into this browser tab, parsed there, and the cleaned copy is built there from the original bytes. No third-party script is loaded on this page, and the page’s Content-Security-Policy restricts connect-src to this origin, so the browser itself would block an upload even if the code attempted one.

What this tool does

Remove the hidden metadata a JPEG, PNG or WebP carries and download a cleaned copy. The file is rewritten at the byte level rather than decoded and saved again, so the picture is not re-compressed and loses no quality.

A JPEG, PNG or WebP is a container: a sequence of labelled blocks, some holding compressed picture data and some describing who took the photograph, when, with what and where. This tool walks that sequence, drops the blocks carrying metadata, and copies the rest through unchanged. In a JPEG that means the APP1 Exif segment including its GPS sub-directory, the APP1 XMP segment, APP13 Photoshop and IPTC records, COM comments and any other APPn segment not recognised as rendering data. In a PNG it means eXIf, tEXt, zTXt, iTXt and tIME chunks; in a WebP, the EXIF and XMP chunks. Everything removed is listed by name, and so is everything deliberately kept.

How to use it

  1. Choose a JPEG, PNG or WebP. The format is identified from the file’s own magic bytes, not its extension.
  2. Read what the file reveals: location and device fields are listed first, then every other field the parser could read.
  3. Select Remove metadata to build a cleaned copy from the original bytes.
  4. Check the two lists that appear: what was removed, and what was kept because dropping it would change how the picture displays.
  5. Select Verify to re-read the cleaned copy, then download it. It is saved with a -no-metadata suffix and your original is untouched.

Example use cases

Supported input and output

Accepts

Produces

What this tool will not do

Common mistakes

Technical notes

Nothing is ever decoded to a canvas in order to clean a file. A JPEG is walked marker by marker up to the start-of-scan marker; unwanted APPn and COM segments are skipped and everything from the scan onwards is copied verbatim, so the entropy-coded data is identical. A PNG is walked chunk by chunk and metadata chunks are dropped whole, which means no CRC has to be recomputed and IDAT is untouched. A WebP is walked as RIFF chunks; EXIF and XMP are dropped, the matching presence bits in the VP8X flags byte are cleared so a strict decoder is not told to expect metadata that is gone, and the RIFF size field is rewritten.

Frequently asked questions

Does removing metadata reduce image quality?
No. For all three supported formats the compressed image data is copied through unchanged, so the pixels in the cleaned file are identical to the pixels in the original. That is different from tools that decode the picture and save it again, which do lose quality.
Can I remove only some of the fields?
No. Removal works by dropping whole container blocks, so every recognised metadata block goes at once. Keeping the timestamp while removing the location is not something this approach can do.
Does this remove every trace of information?
No, and that is stated rather than glossed over. It removes the blocks listed for your file’s format. It does not remove data hidden inside the compressed picture data, and it deliberately keeps colour and density blocks because removing those would change how the image looks.
How can I check the removal worked?
Use the Verify button, which re-reads the cleaned bytes and reports whether any readable field survived. The before and after byte counts are shown as well.