Inspect · read-only
AI metadata checker
Open the file and look inside first: is there any C2PA, is there XMP written by a generator, is there workflow JSON in the PNG. Read-only, nothing uploaded, the file is not modified — changing a file is the cleaner's job.
JPG · PNG · WebP · AVIF · HEIC/15 MB per file/Parsed locally/No sign-up
Drop a file here, or click to choose
JPG / PNG / WebP / AVIF / HEIC · one file at a time · 15 MB max
For files synced from iCloud or a cloud drive, download the original on the device first — placeholder files under 4 KB have nothing to read.
What this checker actually reads
It reads the structured data blocks in the file header and answers one specific question: what is still in this file that a platform would read? Not “does this image look AI-generated” — that needs a pixel-level classifier, which this tool does not do.
| Block | Typical source | Do platforms read it | Risk |
|---|---|---|---|
| C2PA / JUMBF | OpenAI, Firefly, Photoshop Generative Fill | Yes, highest priority | High |
| XMP | Midjourney, Leonardo, Ideogram | Yes, usually as secondary evidence | High |
| PNG tEXt / iTXt | Stable Diffusion, ComfyUI, Fooocus | Yes (text chunks) | High |
| EXIF Software | Lightroom, Capture One, beauty apps | Some platforms | Medium |
| EXIF camera fields | Straight out of a phone or camera | Usually not an AI signal | Low |
| IPTC | Adobe tools, some DAM systems | A few platforms | Medium |
How to read the results
- A generator fingerprint matched: the name appears somewhere in the metadata text. It may have been written by the generator, or by an editor you saved with later. It is not a verdict.
- C2PA present but unverifiable: the structure is there, the signature chain did not verify locally. Treat that as present, not clean.
- EXIF only, no C2PA or XMP: the normal state for a camera original. If a platform still labels it AI, the trigger is not in this file's metadata.
- Nothing found at all: file-level triggers can largely be ruled out; what remains is a pixel watermark or the platform's own visual classifier.
Inspector, calculator or plain-English readout
All three are read-only; only the output differs. Cleaning lives in one place — the cleaner below.
| Tool | Output | Best for |
|---|---|---|
| Metadata inspector (this page) | Every field name and value | Technical triage, sign-off before delivery |
| Metadata calculator | Size share + risk score + post-clean estimate | Deciding whether to clean, and how much it saves |
| Plain-English readout | What each block is and why a platform reads it | First time encountering the concept |
When to run a check
- After exporting from Midjourney, DALL·E, Firefly or ComfyUI
- After Photoshop Generative Fill or Lightroom AI Denoise
- Before posting to Instagram, TikTok, Pinterest or Etsy
- When a platform has already labelled your file and you want to know why
- Before a bulk upload — check one sample, then decide how to clean the batch
Common questions
Does checking modify my file?
No. The bytes are only read into memory, the file object is untouched, and no download is produced. Cleaning is a separate tool that creates a new copy.
Why does a platform still label it AI when nothing is detected?
Because the trigger may not be in the file. Invisible pixel watermarks such as SynthID, the platform's own visual classifier, and history kept server-side all live outside the metadata layer. This tool cannot read them, and cannot remove them.
Why does a small file come back empty?
iCloud, Google Photos and some cloud drives sync a placeholder file (usually under 4 KB) while the real image stays in the cloud. Download the original on the device first.
Is HEIC supported?
It can be read, but cleaning converts it to JPEG first — HEIC metadata sits inside structures the decoder needs, so it cannot be removed in place. The conversion changes the format, and the cleaner says so explicitly.
Is anything uploaded?
No. Once the page has loaded, all parsing runs in your browser and it keeps working with the network switched off.