What is image steganography?
The short answer
Steganography hides the existence of a message, not only its meaning: the picture looks ordinary and carries data. In a picture file the data can sit behind the image, in metadata, in the lowest bits of the pixels, or in see-through areas. The first and last are easy to find and the lowest-bit kind can be found when it is not keyed. Hiding that uses a password, or works inside a JPEG's compressed data, needs the key or specialist tools.
Encryption hides what a message says. Steganography hides that there is a message at all. A picture is a good carrier because it is large, nobody inspects the bytes, and small changes do not show. People use it for harmless things (watermarking, puzzles, capture-the-flag challenges) and for less harmless ones (smuggling data, hiding malware). This guide explains where the data goes and what it leaves behind. Our Steganography Detector checks the first three.
Four places to hide data in a picture
| Where | How it works | What it leaves behind | Easy to find? |
|---|---|---|---|
| Behind the picture | Bytes added after the end of the image data. Viewers stop reading at the end, so the picture still opens. | A larger file, and bytes after the image's end marker. | Yes: the file structure shows it. |
| In metadata | Text in EXIF, XMP or PNG text chunks, or a comment. | Readable fields. | Yes: a metadata viewer lists them. |
| In the pixels | The lowest bit of color values is replaced by data bits. A change of 1 in 255 is invisible. | Statistics of the low bits, if the data is random-looking. | Sometimes: see the LSB guide. |
| In see-through pixels | Fully transparent pixels have a color nobody sees, free to hold data. | Color values in pixels whose alpha is 0. | Yes, when checked. |
Why a lossy format changes everything
PNG and BMP keep every pixel exactly. JPEG does not: it rewrites the pixels when it compresses, so low-bit data written into pixels would be destroyed. Tools that hide data in JPEG therefore work on the compressed coefficients instead (the idea behind F5, OutGuess and steghide). That is a different place and needs different tools. For a JPEG, the pixel tests of a browser checker say nothing, but the first two places still work.
Hiding versus watermarking
Watermarks also hide a signal in a picture, but for a different reason: to be found by a detector even after the picture is shrunk or re-saved. Google's SynthID and the invisible mark of the Stable Diffusion code are examples. They are designed to look like noise and to survive compression, and most can only be read by their makers. Our AI Image Checker reads the Stable Diffusion one. See Content Credentials and watermarks.
What detection can and cannot say
- Finding is conclusive. Not finding is not. Readable text, a file signature, or bytes behind the picture are facts. A clean result rules out the simple methods only.
- A key makes data look like noise. If the payload is encrypted before it is hidden, even a perfect extractor sees random bytes.
- Statistics are suspicion. A test that says "the low bits look random" also fires on some photos and AI pictures.
If you found something
Do not open or run an extracted file you do not trust: a hidden file can be a program. Download it and check it as you would any unknown download. If the picture came from someone else, the file you extracted tells you about them, not about you. For a walk-through of the tools, see how to find hidden data in an image.
Look for data hidden in a picture: files appended behind it, text in the lowest bits of the pixels, data in transparent pixels. It runs in your browser. Open the Steganography Detector.
Frequently asked questions
Is steganography illegal?
Hiding data in a picture is not illegal by itself. What the hidden data is, and why it is hidden, is what matters. We offer the tools for finding it.
Can a normal photo contain hidden data?
Yes, any file can, especially one that has been through unknown hands. Most photos contain none.
Does re-saving a picture remove hidden data?
Re-saving a JPEG removes pixel-level data and data behind the picture, but metadata may stay. A lossless re-save keeps pixel data unless the program drops trailing bytes.