How ai-wr works
ai-wr is a static web page. When you drop an image, your browser reads the file and a small engine written in TypeScript walks through it block by block. Nothing is sent to any server: you can check it by turning off your connection after the page loads.
What each format stores, and what we keep
| Format | Removed | Kept (needed to display the image) |
|---|---|---|
| JPEG | APP1 (EXIF, XMP, extended XMP), APP11 (JUMBF/C2PA), APP13 (IPTC/Photoshop), comments, other APPn blocks, MPF and anything after the end of the image (HDR gain maps, vendor trailers) | JFIF, ICC color profile, Adobe APP14, quantization and Huffman tables, frame and scan data |
| PNG | tEXt, zTXt, iTXt (prompts, workflows, XMP), eXIf, tIME, caBX (C2PA), unknown chunks | IHDR, PLTE, IDAT, IEND, transparency, gamma, color profile, HDR info, animation (APNG) |
| WebP | EXIF, XMP, C2PA and unknown chunks (VP8X flags and RIFF size are corrected) | VP8/VP8L/ALPH image data, animation, ICC profile |
| GIF | Comments and application extensions (XMP, C2PA) | Images, palette, loop setting |
Lossless, and checked
The image data is copied byte for byte, so the pixels are identical. To prove it, ai-wr computes a SHA-256 fingerprint of the image data before and after and shows "Pixels intact" only when both match. It then re-scans the cleaned file: if any AI or personal metadata were left, you would see it.
Two things are kept on purpose: the orientation (rewritten as a tiny EXIF block with that single value, so phone photos are not rotated) and the color profile (so Display P3 photos keep their colors). You can turn both off.
Re-encode mode
If you need a different format, re-encode mode draws the image again in your browser and saves it as JPG, PNG or WebP. That changes the pixels slightly. HEIC and AVIF files are converted this way when your browser can open them.
What it cannot remove
- Invisible watermarks inside the pixels: Google and OpenAI SynthID, Meta's watermark, Adobe TrustMark, Microsoft InvisMark, TikTok's mark, NovelAI's alpha-channel data.
- Visible marks such as the Gemini sparkle.
- "Soft binding": if an image carries TrustMark or a registered fingerprint, a C2PA service can look up the original credential again.
Check it yourself
- contentcredentials.org/verify: shows any C2PA manifest.
exiftool -a -G1 -u image.jpg: lists every metadata field.c2patool image.jpg: reports whether a manifest is present.