Runs in your browser · nothing uploaded

Hide a Secret Message in an Image — Free & In-Browser

Hide a text message inside a PNG using LSB steganography, with an optional password, then extract it back. Runs locally in your browser — no upload, no signup. Free.

Loading tool…

More tools

All free, all private — everything runs in your browser.

How to use Hide Text in Image

  1. 1Pick a PNG cover image (it is read locally — nothing is uploaded).
  2. 2Type the secret message to hide, and optionally set a password to encrypt it first.
  3. 3Choose an LSB depth (more depth = more capacity, slightly more visible change).
  4. 4Click Hide — your browser embeds the message into the image pixels and offers a PNG download.
  5. 5Keep and send the PNG unchanged. To reveal, open the Steganography Extractor, pick the PNG, and enter the password if you set one.

Hide Text in Image FAQ

Is my image uploaded anywhere?
No. The cover image is read into your browser's memory, the message is embedded into its pixels with Canvas 2D, and the result is written back out as a PNG download. There is no server, no upload, and no network request — you can verify this in your browser's DevTools Network tab.
Will the hidden message survive if I edit or re-post the image?
Only if the PNG stays lossless. Re-saving as JPEG, resizing, cropping, or uploading to social media re-encodes the pixels and destroys the hidden data. Keep and send the PNG unchanged (email or a direct file transfer). This is an inherent property of LSB steganography — stated honestly, not hidden.
How does the optional password work?
If you set a password, the message is first encrypted with AES-256-GCM (key derived from your password with PBKDF2-SHA256) and only then embedded, so extraction needs the password too. A wrong password is rejected cleanly by the GCM integrity check rather than returning garbage. There is no recovery if you forget it.
Is steganography undetectable?
No — and we won't claim it is. LSB embedding changes the least significant bits of pixels and can be detected by statistical analysis (a dedicated steganalysis tool can flag it). Steganography hides a message from casual viewing; it is not a substitute for encryption against a determined examiner.