What it checks
| Check | What it finds | How sure |
|---|---|---|
| Behind the picture | Bytes after the end of the image (a ZIP behind a PNG, a note behind a JPEG). Names the file type and shows the first bytes. | Certain: the bytes are there. |
| Lowest bits, read back | Reads the last bit (or two) of each color value in the usual layouts and looks for a known file type or 24+ readable characters. | Certain when text or a file comes out. We had no false finds on 208 real and AI pictures. |
| Lowest bits, statistics | A chi-square test of value pairs: embedded random-looking data evens out the counts of neighboring values. | A "maybe". It flagged 5 of 48 AI PNGs and 2 of 66 real photos in our test. |
| Transparent pixels | Fully see-through pixels whose color is not black. | Certain, but often harmless (editors leave color there). |
How to use it
- Drop the picture. Use the original file: a re-save or a chat copy removes most hidden data.
- Read the headline: red when something readable was found, amber for "possibly", green for nothing found.
- Open what was found: a hex dump with a download button. For other layouts use Extract Hidden Data, and see each bit with the Bit Plane Viewer.
What it cannot find
- Hiding that needs a key. Tools that scatter the data with a password (steghide and similar) look random without it.
- Hiding inside JPEG. Tools such as F5 and OutGuess change the JPEG's coefficients. The pixels of a decoded JPEG have lossy noise in their low bits, so for lossy files only the data behind the picture and readable text are checked.
- Watermarks. Robust watermarks such as Google's SynthID are built to look like noise. Our AI Image Checker reads the Stable Diffusion watermark, not the others.
- Encrypted payloads look random in the low bits. The statistics may flag them; nothing will read them.
What we tested
We hid payloads in five photos: random bits in every pixel, 20% of the picture, a text message, a small ZIP, plus a ZIP appended behind a PNG and random data in transparent pixels. Every text, ZIP, appended file and transparent payload was found. The statistics flagged 5 of 5 full embeddings and 4 of 5 at 20%, and 1 of 5 clean copies. Read the tutorial and the explainer.
The check runs in your browser. Like every tool here, the page also sends a copy of each picture and its result to our server (see the privacy policy).
Frequently asked questions
Does "nothing found" mean the picture is clean?
It rules out the simple methods only. Keyed hiding, JPEG-domain tools and encrypted payloads can pass.
Why is a JPEG not checked for low-bit data?
JPEG compression rewrites the low bits of every pixel, so they are noise. We still look behind the picture and for readable text.
Why was my clean photo flagged "possibly"?
The statistic also fires on pictures whose values were processed or dithered. It is a maybe, and only readable text or a file is a real finding.