How to hide a message in an image
- Drop a photo or picture. Larger images can hold longer messages; the counter shows how many bytes fit.
- Type your secret message and, for extra safety, a password. With a password the message is encrypted with AES-256 before it is hidden.
- Press Hide message and download the new PNG. It looks identical to the original.
- To read it, choose Reveal a message, drop the PNG, enter the password if one was used, and press Reveal.
How image steganography works
Steganography means hiding the existence of a message, not just its content. Each pixel has red, green and blue values from 0 to 255. This tool replaces the least significant bit of each value with one bit of your message, which changes the colour by at most 1/255, far too little for the eye to see. A 1000×1000 photo has three million such bits, enough for about 375 KB of text. A short header marks the start, so the tool can tell whether an image contains a message.
Hidden data survives only in lossless images. Sending the picture through WhatsApp, Instagram, Facebook or email clients that "optimise" photos re-compresses it and destroys the message, so share the PNG as a file or document. Statistical analysis can detect LSB steganography, which is why adding a password matters: even if someone finds the data, they cannot read it. Everything runs in your browser and no image is uploaded.
Why must I save as PNG?
PNG is lossless. JPG and WebP compression change pixel values slightly, which erases the hidden bits.
Can people see that the image has been changed?
Not by looking. Forensic tools can detect the statistical traces, so use a password for real secrets.
Can I hide a file instead of text?
This tool hides text. To protect a file, encrypt it with our File Encryption tool.