{{ liveStatus }}

AI Watermark Detector

Inspect a JPEG, PNG, or WebP for C2PA Content Credentials, declared AI metadata, and statistical pixel anomalies. The tests run locally and report incomplete coverage instead of guessing. Re-encoding can remove container metadata, but it cannot prove or guarantee removal of a pixel watermark.

JPEG · PNG · WebP · analysed in this tab
Choose an image or drop it here

JPEG and WebP are the most common formats for AI-generated images. PNG is supported too, up to 32 MiB. Pasting with ⌘V / Ctrl+V works, but a copied image usually arrives without its metadata — the file itself is what carries the C2PA and EXIF evidence.

Your browser requests the file straight from that site, so the image still never passes through this server — but that site does see your IP address. Hosts that refuse cross-origin reads (Pinterest, most Cloudflare-protected pages) will fail; save the image and drop it in instead. Paste the address of the image itself, not of the page showing it.

About the AI Watermark Detector

Images can carry provenance evidence in separate layers. EXIF, XMP, and IPTC metadata may name software or declare a standard digital source type. C2PA / Content Credentials stores a structured provenance manifest in the file container. Some systems also use proprietary pixel-domain watermarks, but this page has no vendor detector for those systems.

The metadata scanner reads XMP properties, EXIF fields, and supported text chunks, then classifies known generator names and IPTC DigitalSourceType values. The C2PA parser validates the expected JUMBF structure in JPEG APP11, PNG caBX, and WebP C2PA containers and decodes bounded claim fields. It does not verify the signature, asset hash, remote manifest, or trust chain.

The primary pixel test is RS steganalysis, including per-block RS estimates for a heatmap, accompanied by 2D FFT frequency spectrum analysis for radial decay and deconvolution grid peaks (with JPEG 8×8 harmonic separation), 8×8 block DCT Generalized Benford's Law testing, and residual noise homogeneity profiling. Pairs-of-values chi-square is used only as corroboration, while correlation and low-bit periodicity add context. These generic statistics can react to recompression, editing, ordinary steganography, or image content. They do not identify SynthID or any other named watermark.

Editing & tampering forensics is a separate question. Error Level Analysis (JPEG sources only) answers "was this photo locally edited or spliced", not "is this AI-generated" — a fully AI-generated image is one connected render with no seam to find, so this section is not part of the AI-provenance layers above and never affects the verdict or a "clean" result. It is shown as a map to read, deliberately without a score or an "anomaly detected" flag: recompression error is inherently content-dependent, so an uneven pattern is exactly what an untouched photo produces too.

What re-encoding does. A new JPEG, PNG, or WebP is created from decoded pixels and its container is scanned again before download. This is intended to remove header-resident EXIF, XMP, IPTC, and C2PA data. The optional perturbation changes some low bits experimentally; it does not come with a pixel-watermark removal guarantee.

Limitations. A clean verdict means the supported container scans completed and these statistical tests found no anomaly. It does not prove that a human made the image. When a layer cannot run — for example because of browser capabilities, size limits, malformed data, or a timeout — the verdict is explicitly inconclusive.

Related tools: the EXIF Inspector reads every metadata field in detail and removes them one block at a time — or writes your own, the LSB Steganography tool demonstrates the same kind of pixel-level hiding that watermarks use, and the Image Optimizer strips metadata as a side effect of compression.

Privacy: the image is processed in this tab and is not uploaded to this site or stored. That holds for a link too: the fetch is made by your own browser directly to the host you name, with no cookies and no referrer, and the bytes go straight from that host into this tab — but the host does see your IP address, and only hosts that allow cross-origin reads can be fetched at all. With ?debug=1, sanitized lifecycle and parser diagnostics may appear in the browser console; file names, metadata values, image bytes, and pixel buffers are not logged.