Hidden text in the low bits
Bit planes
White where the chosen bit is 1. Shapes or text in a low plane mean something was hidden there.
Metadata
After the end of the image
Readable strings
Runs of eight or more printable characters, mostly letters, anywhere in the file: what the strings command finds, without the noise from compressed pixels.
Hide a message in this image
The message goes into the lowest bit of red, green and blue, ending with a zero byte, and the image is saved as PNG. Saving it as JPEG afterwards would wipe the message out.
Using it
Choose, drop or paste an image, or press Try a sample. The file is read on your device; nothing is uploaded. Six checks run at once, and each has its own box: text in the low bits, the bit planes, the metadata, anything joined on after the image ends, readable strings in the file, and a box for hiding a message of your own.
Puzzle images in geocaches and capture-the-flag games usually hide their secret in one of these places, so it's worth looking at all of them before reaching for anything cleverer.
Where messages hide in an image
The low bits. Each pixel's red, green and blue values are numbers from 0 to 255, and changing the last bit of each changes the colour by one step, which nobody can see. Eight of those bits make a byte, so a picture can carry a message in its lowest bits. The decoder reads them in the commonest order: red, green, blue, pixel by pixel, eight bits to a byte, most significant first, stopping at a zero byte. It also tries every channel and bit on its own and reports any that read as text.
Bit planes. Showing just one bit of one channel as black and white turns hidden shapes into something you can see: a word or a QR code drawn into bit 0 of blue is invisible in the picture and obvious in the plane.
Metadata. Cameras and editors store text inside the file: a JPEG's comment and its EXIF fields (artist, description, copyright, GPS position), and a PNG's text chunks. Puzzle setters fill them in on purpose.
After the end. A PNG ends with its IEND chunk and a JPEG with the bytes FF D9, and image viewers stop reading there. Anything joined on after, a ZIP file or a line of text, rides along unseen. The decoder shows it and lets you save it.
Hiding a message
Load a picture, type a message and press Hide it. The message goes into the lowest bit of red, green and blue in the same order the decoder reads, ending with a zero byte, and you get a PNG. Keep it as PNG: saving it as JPEG, or letting a chat app recompress it, changes the low bits and the message is lost. Each pixel holds three bits, so a 200 × 200 picture can carry about 15,000 characters.
Questions
Can it find every hidden message?
No. Steganography tools use many schemes, passwords and orders, and some messages are encrypted before they're hidden. These checks cover the common puzzle tricks, and the bit planes and strings often point to the rest.
Why does a JPEG never have text in its low bits?
JPEG compression rewrites pixel values when it saves, which scrambles the lowest bits. Hidden messages in JPEGs live in the metadata or after the end of the file instead.
Is my picture uploaded?
No. It's read by your browser and never leaves your device, which matters when the picture is someone's unsolved puzzle.
Sources
Added . What's new



