Back to blog

How to Remove C2PA Content Credentials from a JPEG, PNG, or WebP

A C2PA Content Credential is a signed manifest inside the file. Stripping it breaks the hash chain but leaves the pixels untouched. Here is the byte-level workflow, what stays, and when removal makes sense.

Oct 19, 2026AI Metadata Ninja TeamAI Metadata Ninja Team

A C2PA Content Credential is a signed manifest that travels inside an image file. Adobe Firefly, Microsoft Bing Image Creator, and a growing list of camera vendors add one automatically. The credential answers "where did this file come from" — not "is this picture true" — and stripping it is a normal step before re-publishing under a different workflow. This guide covers how to remove a C2PA credential at the byte level, what the removal breaks, and what stays when you do. For the read-only side, the what-is-C2PA guide covers the spec; the verb-variant hub covers the broader cleaning workflow.

Where C2PA lives in each format

C2PA manifests are stored as JUMBF boxes, the generic container defined by the ISOBMFF family. The wrapping segment depends on the file type:

  • JPEG — the credential lives inside an APP11 marker (note: 0xFFE1 is XMP, APP11 is 0xFFEB).
  • PNG — the credential lives in a dedicated chunk type, in the [markers][jUMBF] style.
  • WebP — the credential lives in a RIFF chunk named JUMB, inside an EXIF or XMP sub-form.
  • HEIC — the credential lives inside a meta-box item. The scanner can read it but cannot rewrite HEIC.

The scanner does not need to know the exact byte offset. It walks the file segment by segment, recognizes the JUMBF magic, and reports the credential. Removal is the inverse: drop the segments that contain only JUMBF data, keep everything else.

What removing a C2PA credential actually does

Removing the credential does three things, all of which are visible in the result:

  1. The JUMBF box is gone. Re-scanning the cleaned file returns "no C2PA fields remain." The credential is no longer attached to the file in any form.
  2. The hash chain is broken. The credential is hash-linked: each sign export pins the hash of the previous version. When the JUMBF box is dropped, the chain is dropped with it. Any downstream verifier will treat the file as "modified since signing" — the same way it would treat any other unsigned file.
  3. The signature is gone. The X.509 certificate that pinned the issuer is part of the JUMBF payload. Without it, no viewer can attribute the file to Adobe, Microsoft, or any other specific issuer.

Nothing about the pixel data changes. The ICC color profile, the EXIF camera fields, the IPTC caption, the XMP dc:creator — all of it stays. Only the signed audit trail is gone.

What removal does NOT do

It does not delete the file. It does not re-encode the JPEG. It does not strip EXIF pixels, IPTC, or XMP. It does not change the look of the image in any way. If you run the cleaner on a file with no C2PA credential, the output is byte-identical to the input.

This is the key difference between a byte-level walk and a re-save. A re-save (Photoshop "Save for Web", macOS Preview "Export As", most online tools) re-encodes the JPEG, drifts the pixels, and would invalidate the C2PA credential anyway by changing the file's hash. A byte-level walk only touches the JUMBF segments, so the rest of the file is byte-identical and verifiable against any pre-cleaning hash of the pixel segments. The comparison is here if you want the full breakdown.

The byte-level workflow

Four steps, all in your browser, no upload required:

  1. Drop the file into the drop zone on the homepage. JPEG, PNG, and WebP are supported; HEIC is read-only and the scanner will report the credential but the cleaner cannot rewrite HEIC.
  2. Read the report. The report names the issuer (Adobe, Microsoft Bing Image Creator, etc.), the asserted actions (c2pa.created, c2pa.actions), and the source tools. If the file has no C2PA, the report says so and you do not need to clean.
  3. Click Clean. The cleaner drops the JUMBF segments that contain the credential. Every other segment stays. The pixels and the ICC profile are byte-identical to the source.
  4. Re-scan to verify. The tool re-scans the cleaned file automatically and shows "0 AI fields remain" in the final report. You can also drag the cleaned file back into the drop zone, or run exiftool on it — the JUMBF box is gone and the rest is intact.

For one file, the whole process takes a few seconds. The byte-level walk is fast. For a batch of files, drop them all at once — the scanner processes them in sequence, each report has its own Clean button, and each download is independent. The batch guide walks through the multi-file case.

When removal makes sense

Three cases where stripping the credential is the right call:

  • You are re-publishing under a different workflow. The image is yours, the credential is from the AI editing tool that produced the working file. You want the pixels; you do not want the third-party signature.
  • You are publishing on a platform that strips credentials on upload anyway. Most social platforms drop the JUMBF box because they lack the rendering infrastructure. Cleaning it before upload skips the indeterminate state where the platform might or might not preserve it.
  • The credential is stale. The file went through several passes since the original Firefly export. The hash chain now reflects the wrong history. Cleaning resets the file to "unsigned" and avoids the noise.

Three cases where removal does NOT make sense:

  • You are shipping an audit trail. If the credential matters for compliance — legal evidence, journalistic verification, photojournalism audit — keep it. A signed manifest is the only way to prove where a file came from.
  • You are working with a partner who verifies credentials. Some newsrooms and stock agencies require C2PA. Stripping it before handoff fails the verification.

What stays vs what goes

Stripped by default:

  • JUMBF box (C2PA Content Credential) — the signed audit trail.
  • XMP parameters, dalle, ideogram, openai — direct AI provenance.
  • PNG tEXt / iTXt chunks (AI-related) — prompt and model.
  • EXIF Software when AI-originated — generator name.
  • EXIF GPS — privacy default; can be toggled in the scan report.

Kept:

  • EXIF Software when camera-originated — the photographer's camera info.
  • EXIF camera body, lens, and settings — the author's craft data.
  • IPTC copyright, caption, creator — author credit.
  • ICC color profile — print and color accuracy.

The GPS removal is a privacy default. The C2PA removal is the entire purpose of the click. Everything else is a side-effect decision you can read in the scan report.

Photographers, sellers, and other audiences

A few audience-specific notes:

  • Photographers who shoot on C2PA-signed cameras (Leica, Sony) and then run the image through an AI cleanup tool will find that the credential is dropped by the AI tool's re-export. If you want to keep the camera-signed credential, do not re-export through Firefly. Use the byte-level tool to strip AI-only metadata, not the camera-issued credential. The photographer guide walks through the photographer workflow.
  • POD sellers on Etsy, Redbubble, and Printify need AI disclosure. The credential is a defensible disclosure; stripping it is a marketability risk. Read the POD seller guide for the disclosure workflow.
  • Digital artists publishing AI-assisted work can strip the credential if the platform's disclosure is satisfied by metadata other than the credential (a description field, a tag, a written disclosure). The credential is optional, not required, by most disclosure rules.

FAQ

Does removing C2PA affect the image quality?

No. The credential lives in its own segment (APP11 JUMBF in JPEG, a chunk in PNG); the pixel data is in a different one. A byte-level walk drops only the credential segment and leaves the rest. The output looks identical to the source — same pixels, same ICC profile, same EXIF camera info.

Is removing C2PA legal?

Yes. The credential is metadata inside your file. Removing it is the same operation as stripping an XMP block or an EXIF field — your right to control what your file carries. The credential is an audit trail, not a DRM lock.

What breaks when you remove a C2PA credential?

Three things: the JUMBF box is gone (no credential in any form), the hash chain is broken (any verifier sees the file as "modified since signing"), and the issuer signature is gone (no one can attribute the file to Adobe, Microsoft, or another specific issuer from the credential). Nothing about the pixels changes.

Can I keep the C2PA credential but strip the rest of the AI metadata?

Yes. Most byte-level cleaners let you pick what to keep. You can strip the XMP parameters and EXIF Software while keeping the C2PA JUMBF box, or vice versa. The decision is yours.

Does removing C2PA delete the file?

No. The cleaner writes a new file; the original stays on disk. You can go back to the source if you ever need the credential again.

Related reading

How to Remove C2PA Content Credentials from a JPEG, PNG, or WebP | AI Metadata Ninja