How to verify Content Credentials
Choose, drop, or paste an image into jpeg.id. The checker reads the file directly in your browser, verifies its embedded C2PA manifest, and builds a readable Image ID report. The file is not uploaded to jpeg.id or a third-party validation service.
-
01
Select the image. File type is detected from its bytes.
-
02
Wait for local validation. WebAssembly checks the credential and its binding to the selected image.
-
03
Read the evidence layers. Verified provenance, editable metadata, and unknowns remain separate.
What the result means
A trusted result means the credential integrity and asset binding passed and the signer chains to jpeg.id’s bundled official trust snapshot. A signer unrecognized result can still have valid integrity while lacking an established trust chain. Invalid means a hard credential check failed. Absent means no supported embedded credential was found.
A valid credential proves that signed claims remain bound to this file. It does not independently prove that the depicted event is true. An absent credential does not prove an image is fake, real, human-made, or AI-generated.
Read the complete validation status guide before using a result in an editorial, moderation, or investigative decision.
Why local verification matters
Images can contain names, precise location coordinates, timestamps, editing history, device identifiers, and embedded manifest data. jpeg.id keeps image bytes, filenames, hashes, manifests, and metadata on the device. Only same-origin application code, WebAssembly, workers, fonts, and reviewed trust snapshots are loaded.
For the exact boundary, see the privacy statement and technical explanation.