Steganography Online

Hide a text message invisibly inside a picture, or reveal one, with an optional password.

or browse filesdrop an image here or paste

0 / 0 bytes
Image with a hidden message
.png

Hide a Secret Message Inside an Image

Steganography hides the fact that there is a message at all. Where encryption produces an obvious block of scrambled text, a steganographic image looks like an ordinary photo - the secret rides along in pixel changes too small to see. This tool does that in your browser: drop in a picture, type your message, and download an image that looks identical but carries your text inside it. Switch to Reveal and it finds the hidden text and reads it back out. It is the online version of steghide and the LSB stego encoders and decoders people search for - a full steganography tool for both hiding and decrypting messages, with no upload and no account.

The message is written with LSB (least significant bit) encoding. Every pixel has a red, green and blue value from 0 to 255, and changing the very last bit of each - say from 200 to 201 - shifts the colour by less than half a percent, far below what an eye can notice. The tool spreads your message across those last bits, three per pixel, so a modest photo holds thousands of characters while looking exactly the same as before.

Encode and Decode, With an Optional Password

Hide takes your message and embeds it. A live counter shows how many bytes you have used against how many the image can hold, so you know before you download whether it fits. Reveal does the reverse: load an image and the hidden text appears, ready to copy. If you open an image that already contains a message, the tool notices and switches to Reveal for you.

For a real secret, add a password. With one set, the message is encrypted with AES-256 before it is hidden, so even someone who knows to look for LSB data and extracts it gets nothing but random bytes without the password. Decoding a protected image asks for the password, and a wrong one is rejected cleanly rather than spilling garbage - the encryption verifies itself. Without a password the message is hidden in plain form, which is fine for puzzles, watermarks and CTF challenges where concealment, not secrecy, is the point.

Save as PNG - Why the Format Matters

The download is a PNG on purpose, and this is the one rule that trips people up. LSB data lives in exact pixel values, and JPG (and lossy WebP) throw those exact values away when they compress - the picture still looks the same to you, but the hidden message is scrambled beyond recovery. PNG stores every pixel exactly, so the message survives. If you hide a message and re-save the result as a JPG somewhere else, or a chat app recompresses it on the way, the message is lost. Send the PNG as a file, not through anything that re-encodes images.

One more quiet detail: transparency is preserved. The message is written only into fully opaque pixels, so a logo with a transparent background keeps both its transparency and its payload - the older generation of this tool wrote into transparent areas too and corrupted the message. When you need to protect a whole file rather than hide a note in a photo, the password protect tool locks an image behind a password instead.

What People Use It For

Hiding messages in images for puzzle hunts and escape rooms, where a clue is buried in an innocent-looking picture. CTF security competitions, which lean on LSB steganography constantly. Digital watermarks that mark an image as yours without a visible stamp. A private note tucked into a photo you are already sending someone, so the message hides in plain sight. It is a genuine privacy tool, and like any such tool it should be used lawfully and with the consent of the people involved.

Frequently Asked Questions About Steganography

How do I hide a secret message in an image online?

Open a picture here, keep the mode on Hide, type your message, and press Download. You get a PNG that looks identical to the original but carries your text in its pixels. Add a password first if the message needs to stay secret. Nothing is uploaded - it all happens in your browser.

How do I decode a hidden message from an image?

Load the image and switch to Reveal, or just drop in an image that was made here and the tool opens on Reveal automatically. The hidden message appears in the box, ready to copy. If the message was password-protected, enter the password and press Unlock.

Why does it only save as PNG and not JPG?

Because the hidden message lives in exact pixel values, and JPG compression changes those values to save space - it would destroy the message while leaving the picture looking fine. PNG stores pixels losslessly, so the message survives. Always keep and share the PNG, and avoid anything that might re-compress it.

Is the hidden message encrypted?

Only if you set a password. With a password, the message is encrypted with AES-256 before it is embedded, so extracting the LSB data without the password yields nothing usable. Without a password the message is hidden but not encrypted - concealed, but readable by anyone who decodes the image.

How much text can I hide in an image?

About three bits per pixel, so roughly one byte for every three pixels. A one-megapixel photo holds around 350,000 characters. The tool shows a live byte counter as you type and won't let you embed more than fits.

Can I decode an image someone else hid a message in?

If it was encoded with LSB steganography in the standard way - as this tool and the previous version of it do - then yes, Reveal will find it. Images hidden with a different method or a different bit layout won't decode here, and a password-protected message still needs its password.

Is my image or message uploaded anywhere?

No. The picture is decoded, the message embedded or extracted, and the result encoded entirely in your browser. Neither the image nor the text is ever sent to a server, and the page keeps working with the network disconnected once it has loaded.