Image Steganography (Hide Text in Image)

This tool hides text inside an image using LSB (least significant bit) steganography

Updated
Loading toolโ€ฆ

This tool hides text inside an image using LSB (least significant bit) steganography

How to use Image Steganography (Hide Text in Image)

  1. Choose Hide mode, pick a cover image, and type the secret text you want to conceal.
  2. Optionally add a passphrase, then click Hide & Create PNG and download the identical-looking PNG.
  3. To read it back, switch to Reveal mode, load that PNG, enter the passphrase if any, and click Reveal Message.
Try next โ†’SVG OptimizerThis SVG optimizer reduces the file size of SVG images by removing data that bro

About Image Steganography (Hide Text in Image)

This tool hides text inside an image using LSB (least significant bit) steganography. It writes the bits of your message into the last bit of each pixel's red, green, and blue values, changing each channel by at most one step out of 256. The result looks identical to the original but carries your hidden text, and the reveal mode reads it back out. It runs entirely in your browser using the Canvas API, so your image and message are never uploaded anywhere.

The output is always a PNG because PNG is lossless. That detail matters: JPG and most social platforms re-compress images, which rewrites those least significant bits and destroys the hidden data. Share the exact PNG file the tool produces, not a screenshot or a re-saved copy. Each image has a fixed capacity of roughly (width x height x 3) / 8 bytes, shown live as you pick a cover image.

An optional passphrase scrambles the message with a SHA-256-derived keystream before hiding, so anyone who reveals the image without the same passphrase sees only gibberish. This is obfuscation for casual privacy, not a security guarantee: LSB steganography is detectable by dedicated analysis tools, and the passphrase scheme is not a substitute for real encryption of sensitive data.

Frequently asked questions

How do I hide text in an image?
Keep the mode on "Hide text in an image", choose a cover image, type your secret message, optionally add a passphrase, then click Hide & Create PNG and download the result. The downloaded PNG looks the same but carries your message.
Why must I keep it as a PNG?
The message is stored in the least significant bits of the pixels, and PNG is lossless so those bits are preserved exactly. Saving as JPG, taking a screenshot, or letting a chat app re-compress the image rewrites those bits and erases the hidden text. Always share the original PNG file.
Is my image or message uploaded anywhere?
No. Everything runs locally in your browser using the Canvas API. No file is sent to a server, there are no accounts, and nothing is stored after you close the tab.
How much text can I hide?
About (width x height x 3) / 8 bytes, minus a small header. A 1000x1000 image holds roughly 375 KB of text. The tool shows the exact capacity and your message size once you pick an image, and warns you if the message is too large.
Can someone else read the hidden message?
Anyone with this tool (or similar LSB software) can extract text from a PNG that wasn't passphrase-protected. If you set a passphrase, the message is scrambled and only reveals correctly with the exact same passphrase. Note this is casual obfuscation, not strong encryption.
I got gibberish or "no hidden message found" when revealing. Why?
Common causes: the image was re-compressed or converted (use the original PNG), it never contained a hidden message, or a passphrase was used and you entered a different one or none. Enter the exact passphrase from the hide step and try the untouched PNG.