Hide a secret message inside the pixels of a real image and pull it back out. This is genuine LSB steganography — it flips the least-significant bit of each colour channel, a change your eye can't see. Encoding and decoding happen entirely on the Canvas, in your browser.
Any image works — it's re-saved as lossless PNG so the hidden bits survive
Must be the lossless PNG — JPEG re-compression destroys the hidden bits
Every pixel is three bytes — red, green, blue — each 0–255. Changing the lowest bit shifts a value by at most 1 (e.g. 200 → 201), invisible to the eye. We stream your message bit-by-bit into those low bits: a 12-megapixel photo hides ~4.5 MB of text with no visible change.
The first bytes store a magic marker (NB) plus a 32-bit length, so the decoder knows exactly how many bits to read and can tell "no message" from garbage. It's the same trick CTF forensics challenges use — pair this with the CTF cheatsheet.