Can ExifTool Remove C2PA Metadata?
Short answer: partially, and it depends on the file format and what's actually inside. ExifTool is brilliant at the metadata it knows well: EXIF, IPTC, XMP, and a pile of camera-specific fields. C2PA is a newer and structurally different beast (a JUMBF box wrapped in format-specific containers), and ExifTool's grip on it is uneven from one format to the next. Here's where it works, where it doesn't, and what to double-check after.
How C2PA is stored, and why that matters for ExifTool
C2PA manifests are packaged inside JUMBF boxes embedded into the image file. The container that holds the JUMBF box is format-specific:
- JPEG:
APP11marker segments. - PNG: a custom
caBXchunk. - WebP: RIFF chunks.
- HEIF / AVIF / MP4: ISOBMFF boxes.
ExifTool can read these containers and, for some formats, strip them. But C2PA isn't a tidy "tag" you can point -EXIF:all= at. Whether it actually goes depends on whether the format-specific writer module pulls the JUMBF segment back in when it rebuilds the file.
What works today
The most reliable single command for stripping every metadata field ExifTool knows about is:
exiftool -all= -overwrite_original input.jpg
For JPEG, that strips EXIF, IPTC, XMP, and Photoshop blocks, and on current builds it also drops the APP11 segment that carries C2PA in a JPEG. For PNG it clears the standard text chunks, but whether it also removes the caBX chunk comes down to your ExifTool version. Newer builds recognize and remove JUMBF / C2PA chunks; older ones may wave them straight through.
To target only C2PA-related structures (without nuking everything else), recent ExifTool builds support:
exiftool -jumbf:all= -overwrite_original input.jpg
This deletes JUMBF data while leaving normal EXIF and XMP intact, which is useful if you want to drop C2PA but keep the camera and editing metadata.
Where it gets fuzzy
- WebP and AVIF: ExifTool's coverage of C2PA inside RIFF / ISOBMFF containers has been improving but isn't guaranteed across versions. Verify the result.
- Older ExifTool builds: pre-12.50 builds did not recognize the C2PA-specific PNG chunk. If you're on a system with an older build, the
caBXchunk may pass through your "-all=" command intact. - Sidecar / external claims: a C2PA manifest can reference data stored outside the file (a "soft binding"). Removing the embedded manifest does nothing about external records.
Either way, verify the output with the official Content Credentials Verify tool instead of trusting that the command did what you hoped.
Re-encode vs. ExifTool: which should you use?
For most users, the practical difference is:
| Approach | Pros | Cons |
|---|---|---|
| ExifTool | Lossless, so the pixels are untouched. Granular enough to drop just JUMBF and keep your EXIF. Scripts well. | Coverage of C2PA depends on ExifTool version and file format. Requires command-line comfort. |
| Browser re-encode (e.g., noc2pa.com) | Reliably drops everything in the original container. Nothing to install. The JPG it spits out opens anywhere. | JPG is lossy; pixel-perfect output is not preserved. Drops all metadata, including fields you might have wanted to keep. |
If you care about lossless output or want to keep some metadata, use ExifTool and verify. If you just want a clean JPG to share, the in-browser converter is faster and harder to misconfigure.
How to verify the result
- Run the file through the Content Credentials Verify tool. It'll tell you when there's no manifest left.
- Use our C2PA Checker for a quick second opinion.
- Check with
exiftool -G1 -a -s output.jpgto list every group and tag ExifTool can see, and confirm there's no JUMBF group remaining.
Related
- Remove C2PA metadata from PNG/WebP (browser-based re-encode)
- How to remove C2PA metadata from images (a broader walkthrough)
- What is C2PA metadata? (a primer on what's actually being removed)