Hide a secret message in the least-significant bits of an image, or reveal one. Lossless PNG output. Runs entirely in your browser.
Steganography hides information inside ordinary-looking files so that the existence of the message itself is concealed. The classic image technique stores data in the least-significant bit (LSB) of each colour channel, a change too small for the eye to notice. This tool hides a text message inside an image and exports a PNG that looks identical to the original, and it can read a message back out of such a PNG.
Input:
a PNG image + the message to hide
Output:
a visually identical PNG with the message embedded
Why must the output be PNG?
LSB data is fragile. Lossy formats like JPEG re-encode pixels and destroy the hidden bits, so the tool exports lossless PNG and you should keep it that way.
How much text can I hide?
Roughly three bits per pixel, so a 1000 by 1000 image holds around 370 KB. The tool tells you if a message is too large.
Is this encryption?
No. Steganography hides that a message exists but does not protect it. For real secrecy, encrypt the text first, then hide the ciphertext.
Does my image leave the browser?
No. Embedding and extraction run entirely in your browser on a canvas.
Hide a secret message in the least-significant bits of an image, or reveal one. Output is a lossless PNG. Everything runs in your browser.
Select a cover image (PNG recommended)
Use a lossless format (PNG) for the output. Re-saving the stego image as JPEG will destroy the hidden bits.