Skip to site navigation
Metadata

C2PA remover

Content Credentials are a block of data on the file. Removing it is a byte edit, and this shows you the block before it goes.

Found

What this looks for

Add a PNG, JPEG or WebP and every metadata block in it is listed here by name and byte count, before anything is removed. It looks for EXIF, XMP, IPTC and Photoshop resource blocks, free-text comments, modification timestamps, and C2PA Content Credentials. The colour profile is left alone on purpose, because deleting it changes how the image looks and it says nothing about you.

A watermark encoded into the pixels themselves, such as SynthID, is a different mechanism and is not something this or any metadata tool can remove.

1Files
No files added yet.

Mechanism

What a C2PA manifest is, where it hides, and what the remover deletes

C2PA, branded as Content Credentials, attaches a cryptographically signed manifest describing what created the file and every edit applied since. The manifest travels in a JUMBF container, which each image format carries in its own way: a caBX chunk in a PNG, an APP11 marker segment in a JPEG, a C2PA chunk in a WebP. Because it is a block with a length like any other, the tool finds it by walking the same structure it uses for EXIF, reports it separately from the ordinary metadata, and rebuilds the file without it. The signature is not verified and does not need to be, since removing the block does not require understanding it.

Limits

What it cannot do

  • C2PA also defines soft binding, where a fingerprint of the image is registered externally and matched later from the pixels. Removing the manifest does not touch that, and neither does anything else at the byte level.
  • A file with the manifest removed does not become a file that was never signed. Anyone who kept a copy of the original, or the registry the asset was recorded in, still has it.
  • Editors that support C2PA will happily attach a fresh manifest the next time the file passes through them.
Questions

Questions people actually ask

What are Content Credentials?
A C2PA manifest, signed by whatever produced or edited the file, recording what tool made it and what was done to it since. Adobe, OpenAI, Google and several camera makers attach them. The idea is that a viewer can check the signature and see the history rather than take an image on trust.
Is removing a C2PA manifest a defeat of the standard?
Not really, because the standard never assumed the manifest could not be removed. Its claim is that a valid signature proves something, not that a missing one proves anything. Stripping a manifest gets you back to an ordinary unsigned file, which is what most images on the internet already are.
Why would I want to remove one?
Usually because it carries more than you expected. A manifest can record the software, the account, the edit history and in some pipelines a thumbnail of an earlier version. People who are fine with the image being public are not always fine with shipping its full production history alongside it.
Can you tell me what is inside the manifest before deleting it?
Not in detail. The tool reports that a manifest is present and how many bytes it takes, which is what it can determine from the container structure alone. Parsing and verifying the claims inside it is a separate job, and the official C2PA verification sites do it properly.
Where does the manifest actually sit in the file?
In a JUMBF container, which each format carries in its own way. A PNG puts it in a caBX chunk, a JPEG in an APP11 marker segment, a WebP in a chunk with the four-character id C2PA. Because all three are ordinary blocks with a length field, finding one needs no understanding of what it says, only the ability to walk the container. That is also why the size is reported and the contents are not.
Will removing it break the image in any way?
No. A C2PA manifest is additional data riding alongside the picture, not part of it, and every viewer that does not implement C2PA has been ignoring it all along. The image data is copied across byte for byte, so what you get back decodes identically. The only thing that changes is that a viewer which does implement C2PA will now show the file as unsigned rather than showing its history.