Steganography Decoder
Reveal hidden messages in images: decode LSB steganography, inspect bit planes and spot data hidden after the end-of-image marker.
Drag & drop an image here, or click to browse
No uploads. Your files stay on your device.
Hidden text (LSB)
Data after the end-of-image marker
Bit-plane view
Hidden data usually looks like structured noise in the lowest bit plane, while an untouched photo looks like smooth static.
How it works
Drop an image and this decoder reads it with the Canvas API right inside your browser — the file is never uploaded anywhere. It walks the pixels in order and collects the least significant bit (LSB) of each colour channel, packs those bits back into bytes and stops at the first zero byte, which is the terminator almost every LSB encoder writes. Auto-detect tries the usual combinations (R+G+B together, each channel on its own, alpha, and both bit orders) and shows the one that produces readable text.
Not every hidden payload lives in the pixels. The tool also checks the raw file for bytes
that sit after the end-of-image marker (PNG IEND, JPEG
FFD9, or the RIFF length in a WebP) — a classic way to smuggle a note or a whole
ZIP inside a picture. Anything it finds can be read as text or downloaded as a binary file.
Finally, the bit-plane view renders a single bit of each pixel as black-and-white. A clean photo's lowest bit plane looks like random static; an image carrying LSB data usually shows a sharp block of structure at the top where the message sits. Note that LSB data only survives lossless formats — re-saving a stego image as JPEG destroys the message, so JPEGs rarely yield anything from the pixel scan.
Frequently asked questions
How does this steganography decoder find hidden text?
It reads the least significant bit of each colour channel across the pixels, packs those bits back into bytes and stops at the first zero byte — the terminator nearly every LSB encoder writes. Auto-detect tries R+G+B together, each channel on its own, the alpha channel, and both bit orders, then shows whichever combination produces readable text.
Is my image uploaded anywhere?
No. The file is decoded with the Canvas API and read as raw bytes entirely inside your browser. Nothing is sent to a server, there is no queue and no account, so you can safely inspect private or sensitive images.
Why does it find nothing in my JPEG?
JPEG compression rewrites pixel values, which destroys least-significant-bit data, so LSB messages only survive lossless formats like PNG, BMP and WebP. For a JPEG, check the appended-data scan instead — it looks for bytes hidden after the FFD9 end-of-image marker, a trick that works on any format.