An AI label on a photo you post can come from two markers in the file you upload: a C2PA manifest (Content Credentials) and the IPTC Digital Source Type field in XMP. Delete both before upload and the platform has nothing in the file's metadata to read. The remover above does that on JPEG, PNG, TIFF and WebP, as part of a full strip or with its AI markers only option. It does not touch watermarks hidden in the pixels, it does not change a platform's disclosure rules, and some generators' terms forbid it.
What the label reacts to
The label is a decision the platform makes when it ingests your file. It is not a tag you can edit afterward on the live post.
Meta says it reads the "AI generated" information defined by the C2PA and IPTC standards to label images on Facebook, Instagram and Threads. TikTok says it automatically labels AI-generated content uploaded from certain other platforms when it carries C2PA Content Credentials. In file terms, that means:
| Marker | Where it sits | Signed |
|---|---|---|
| C2PA manifest store | JUMBF in JPEG APP11, caBX chunk in PNG, C2PA chunk in WebP | Yes |
| IPTC Digital Source Type | XMP, tag XMP-iptcExt:DigitalSourceType | No |
OpenAI says images generated with ChatGPT, Codex or its API carry both C2PA and an invisible SynthID watermark, with a few older API models excluded. Adobe attaches Content Credentials to images fully generated with Firefly, including Generate Image in Photoshop, and its 2023 Photoshop release notes say Generative Fill and Generative Expand add them on export too. Under the C2PA guidance, a wholly generated image declares the digital source type trainedAlgorithmicMedia and an AI edit such as inpainting declares compositeWithTrainedAlgorithmicMedia. The plain XMP field can carry the same values without any signature, so anyone can add or delete it.
The details of what Meta does with each marker, and why Instagram can strip your EXIF but still label the post, are in the Instagram AI generated label guide.
Check the file before you upload
With ExifTool installed:
exiftool -G1 -a -s -JUMBF:all -XMP-iptcExt:DigitalSourceType photo.jpgOn a test JPEG carrying a C2PA stub and the IPTC field, ExifTool 12.76 prints:
[JUMBF] JUMDType : (c2pa)-0011-0010-800000aa00389b71
[JUMBF] JUMDLabel : c2pa
[XMP-iptcExt] DigitalSourceType : http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMediaA JUMBF box labeled c2pa means a manifest store is embedded. A DigitalSourceType ending in trainedAlgorithmicMedia or compositeWithTrainedAlgorithmicMedia flags generative content.
No output does not settle it. C2PA also allows a manifest stored remotely and referenced from XMP as dcterms:provenance, which the command above does not show. List the whole XMP packet to catch it:
exiftool -G1 -a -s -XMP:all photo.jpgA line such as [XMP-dcterms] Provenance : https://... points to a remote manifest.
There is no C2PA group in ExifTool, so commands that ask for -C2PA:all return nothing even when a manifest exists. The ExifTool documentation suggests -jumbf:all -G3 -b -j -u -struct to dump the full manifest. c2patool photo.jpg prints it as JSON, and c2patool photo.jpg --info adds the validation status. The Content Credentials site at contentcredentials.org/verify shows the manifest in a browser.
Without ExifTool, the EXIF reader on this site has an AI and provenance panel. It reports a C2PA manifest and the app that wrote it, the digital source type declared in the manifest or in XMP, the IPTC AI system and prompt fields, and a remote manifest link. It does not validate signatures; c2patool and Content Credentials Verify do.
Strip the markers
With All metadata selected, the remover at the top of this page runs a full exiftool -all= on the server and returns the cleaned file. On the same test JPEG, the check command above prints nothing afterward: the APP11 segment is gone along with the XMP packet. The same strip removes the prompt text that Stable Diffusion front ends write into PNG files. A PNG with parameters and workflow text chunks came back without either.
A full strip also takes EXIF, GPS and the embedded thumbnail. The ICC profile and the Orientation tag stay unless you untick that option; how to remove metadata from photos covers what happens without them.
To remove only the AI markers and keep camera EXIF and copyright, choose AI markers only. It runs this command, plus the IPTC AI system and prompt fields and the PNG parameters chunk:
exiftool -JUMBF:all= -XMP-iptcExt:DigitalSourceType= -XMP-dcterms:all= photo.jpgExifTool 12.76 has no writable name for dcterms:provenance, so -XMP-dcterms:all= clears the whole Dublin Core terms namespace to catch a remote manifest reference. Newer IPTC fields that describe the AI system and the prompt also live in XMP; ExifTool 13.59 deletes them by name (-XMP-iptcExt:AISystemUsed=, and the same for AISystemVersionUsed, AIPromptInformation and AIPromptWriterName). ComfyUI's prompt and workflow PNG chunks have no ExifTool tag name, so only a full strip removes them. ExifTool keeps the original as photo.jpg_original unless you add -overwrite_original.
Upload the cleaned copy
Post the file you downloaded, not the original export. Opening the cleaned file in Photoshop or Lightroom and exporting again with Content Credentials enabled writes a new manifest. Run the check commands once more on the exact file you are about to upload.
A real photo can carry a manifest too, after Generative Fill on part of the frame for example. Meta says that when its systems judge content to be only edited with AI, the AI info label goes in the post's menu rather than on the image. Stripping removes the record of the edit along with the trigger.
TikTok photo posts and videos
The remover handles the images in a TikTok photo post: clean each JPEG or PNG, then upload the cleaned files.
It does not accept MP4 or MOV. If a video carries Content Credentials, ExifTool (12.70 and later) documents deleting the JUMBF group from QuickTime-based files with the same option:
exiftool -JUMBF:all= clip.mp4Check the result with exiftool -G1 -a -s -JUMBF:all clip.mp4 before you upload.
TikTok also uses its own detection, and creators can label a post as AI-generated by hand. TikTok's help center says a label it applied automatically cannot be removed by the creator, so a file edit only matters before the upload.
What metadata removal cannot change
- Invisible watermarks are part of the pixel data. SynthID, developed by Google DeepMind and also used on OpenAI images, survives a metadata strip, and TikTok says it adds its own invisible watermark to some AI-generated content.
- Labels that do not come from the file stay. Platforms combine metadata with self-disclosure and detection, and Instagram added an AI-generated label for whole profiles in August 2026. Treat the platform's help center as the current word.
- Disclosure rules stay in force. TikTok's Community Guidelines require creators to label realistic AI-generated content. Meta requires a label on photorealistic video and realistic-sounding audio that was digitally created or altered; images are outside that rule, but Meta may still label them.
- Generator terms can forbid it. Adobe's generative AI terms prohibit removing Content Credentials from Firefly output, and OpenAI's terms of use forbid presenting output as human-generated when it was not.
- A clean file is not a clean record. Adobe can keep a copy of Firefly credentials in its cloud and match the image back to them.
- An image without credentials is not proof of a camera original. Most photos online carry no C2PA at all.
There are ordinary reasons to strip provenance as well: a manifest can hold your name, the software you used, an edit history and thumbnails of source images.