Tool · Content Provenance

C2PA Verification Tool

Drop in an image and read its Content Credentials: which tool or AI model signed it, who issued the certificate, when it was signed, and whether a single byte has changed since. Runs entirely in your browser.

Step 1 · Choose a file
Drop a file here, or tap to browse JPEG · PNG · WEBP · AVIF · SVG · TIFF · MP4 · WAV · PDF
or
Step 2 · Verify an image already online

Nothing is uploaded. Files are read inside your browser with the official C2PA WebAssembly library. A URL must allow cross-origin requests — if it does not, download the image and drop it in instead.

SourceC2PA Specification 2.1
Last verified11 Aug 2026
Next check11 Feb 2027
Confidenceconfirmed

What this tool checks

C2PA — the Coalition for Content Provenance and Authenticity — is an open standard for recording where a file came from. A C2PA manifest is embedded inside the file itself and cryptographically signed, so unlike EXIF it cannot be quietly edited.

The tool reads that manifest and reports four things: the tool or AI model that signed the file, the certificate holder behind the signature, the timestamp, and whether the file content still matches what was signed.

How it identifies AI-generated images

C2PA manifests carry an IPTC digitalSourceType assertion that states how the content was made. The values that matter:

  • trainedAlgorithmicMedia — created by a trained AI model
  • compositeWithTrainedAlgorithmicMedia — partly AI, composited with other material
  • digitalCapture — captured by a camera or recorder
  • computationalCapture — camera capture with computational processing
  • digitalArt, humanEdits — human-made or human-edited

When a file carries a valid signature declaring trainedAlgorithmicMedia, that is as close to proof of AI generation as currently exists.

What a result proves — and what it does not

A valid credential is conclusive about signing. If verification passes, the file is byte-identical to what the signer signed and the certificate identifies the signer. This is cryptography, not a probability score.

No credential proves nothing at all. Screenshots, re-saves, format conversion and nearly every CDN image pipeline strip C2PA metadata. An unmarked file may be a camera original, AI output or anything else. Read "no Content Credentials" as no signal, never as human-made.

A valid signature does not make the claim true. It proves the signer's claim is authentic and unaltered. A tool that signs a manifest saying "camera capture" is making a claim; the signature guarantees it came from that tool untampered, nothing more. That is why the certificate issuer is shown prominently — a credential is only as trustworthy as its signer.

A broken signature is not automatically malice. Ordinary edits break credentials constantly. A C2PA-aware editor re-signs and preserves the chain; a non-aware one breaks it.

Why there is no text checker here

The most common request for a tool like this is text: paste an article, find out whether a model wrote it. That capability does not exist for anyone outside the model vendors.

Text watermarking works by biasing token selection during generation according to a secret key, and detecting the bias requires that key. Google's SynthID detector for Gemini text is restricted to Google and selected enterprise partners. Anthropic has committed to watermarking Claude output and says detection documentation is forthcoming, but nothing is available to third parties yet. OpenAI has not shipped a detectable text watermark.

What public "AI detectors" measure instead is perplexity and burstiness — correlates of machine generation, not evidence of it. Vendor-reported accuracy sits in the 62–88% band. A Stanford HAI study published in Cell Patterns found 61% of TOEFL essays by non-native English speakers were wrongly flagged as AI, because non-native writing tends toward the lower lexical variability those classifiers read as machine-like. A detector that is 80% right produces a confident number that gets used to accuse people, so this tool returns nothing rather than a guess.

Verifying outside the browser

For batch work, the reference CLI gives the same result this page does — both wrap the same Rust core:

c2patool image.jpg -d
Share this tool

Was this tool helpful?

If something here is wrong or out of date, tell us and we will check the source.

Related tools

All tools

Last verified August 11, 2026 · by Vivek Kumar