SynthID remove vs. metadata: what's actually inside an AI image file (EXIF, XMP, C2PA) A developer published a practical guide distinguishing embedded image metadata — EXIF, XMP, IPTC and signed C2PA manifests — from pixel-level watermarks like Google's SynthID, noting that stripping metadata leaves SynthID untouched. The guide shows how to inspect files with exiftool and c2patool and how to produce a metadata-free copy locally via the Canvas API, while cautioning that re-encoding is lossy and that removing provenance data is not a way around AI disclosure rules. If you've ever downloaded an image from an AI generator and opened it in exiftool , you've probably noticed the file carries a lot more than pixels. Generators, editors and even some phones now write provenance data into the file: software names, prompts, creation tools and, increasingly, signed C2PA manifests. A lot of the "synthid remove" searches I see from photographers and indie devs are really about this layer, so it's worth separating the two things clearly. Embedded metadata lives in containers alongside the image data: CreatorTool or IPTC's DigitalSourceType e.g. trainedAlgorithmicMedia here. tEXt , iTXt : some local Stable Diffusion UIs store the full prompt and settings here. Pixel-level watermarks such as Google's SynthID are different: they're woven into the image content itself, so stripping metadata does nothing to them. Keep that distinction in mind when someone promises a one-click fix for both. There are plenty of honest reasons to strip metadata from images you own or are authorized to edit : What it is not for: passing off generated images as camera photos where a platform, client or publication requires disclosure. If the rules say "label AI images", label them, in the caption or alt text, regardless of what's in the file. Before removing anything, look at what's there: exiftool -a -G1 image.png every tag, grouped by container exiftool -XMP:all image.jpg just the XMP packet c2patool image.jpg C2PA manifest, if any For a PNG from a local SD install you'll often see a parameters text chunk containing the whole prompt. You can do the cleanup locally with the Canvas API: draw the decoded image to a canvas and export a fresh blob. The re-encoded file contains pixels only, none of the original EXIF/XMP/IPTC/C2PA/text chunks. js async function cleanCopy file, type = file.type { const bitmap = await createImageBitmap file ; const canvas = new OffscreenCanvas bitmap.width, bitmap.height ; canvas.getContext '2d' .drawImage bitmap, 0, 0 ; return canvas.convertToBlob { type, quality: 0.95 } ; } Caveats: JPEG re-encoding is lossy, color profiles may change, and orientation metadata is applied before drawing in modern browsers, so check the result. If you don't want to wire that up yourself, the free Remove AI Label tool on SynthClear https://synthclear.com/remove ai label does exactly this kind of local cleanup: you drop in JPG, PNG or WEBP files and it creates fresh copies without the original EXIF, XMP, C2PA and other embedded metadata, processed in your browser rather than uploaded. The free Remove AI Label page on SynthClear screenshot . Since SynthID isn't metadata, the browser trick above won't touch it. SynthClear https://synthclear.com/ also has a separate, paid tool on its homepage that attempts to remove supported SynthID watermarks from images you own or are authorized to edit; the site itself says results vary by image and aren't guaranteed. I'd treat that as a niche tool for your own assets, not a way around disclosure rules. SynthClear's homepage, where the separate SynthID tool lives screenshot . exiftool -a -G1 so you know what you're removing. For more background, see this guide on SynthID remove vs. metadata and disclosure for photographers https://owenharte.mataroa.blog/blog/synthid-remove-metadata-and-disclosure-a-practical-guide-for-photographers/ and this short publishing checklist for AI images https://marcusellery.neocities.org/synthid-remove-publishing-checklist . Metadata is useful, and sometimes it says more than you meant to share. Knowing which layer you're dealing with is most of the battle.