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.
More tools
All free, all private — everything runs in your browser.
Hide File in Image
Embed a small file inside a cover PNG using multi-channel RGB LSB steganography, up to the image's capacity, then extract it back. 100% in your browser — no upload. Free.
Text Steganography
Hide a message inside visible text using invisible zero-width Unicode characters. Copy the result anywhere — chat, email, a doc — and paste it back here to reveal. In-browser, free.
Steganography Extractor
Paste an image to reveal hidden LSB data, or paste text to reveal zero-width characters — with optional password. Auto-detects the LSB depth. 100% in your browser, free.
Batch Hide in Images
Hide the same message (optionally password-encrypted) into a batch of PNG covers and download them as a single .zip. Reveal the payload from any one member. In-browser, 100% private. Pro.
Invisible Watermark
Embed an imperceptible owner/ID signature into an image and detect it back later without the original — for provenance and leak-tracking. Runs in your browser. Pro.
Steganography Detector
Analyse an image for hidden LSB steganography with a chi-square heuristic, plus a visual LSB-plane preview. An honest verdict, never a guarantee. Runs in your browser. Pro.
How to use Hide Text in Image
- 1Pick a PNG cover image (it is read locally — nothing is uploaded).
- 2Type the secret message to hide, and optionally set a password to encrypt it first.
- 3Choose an LSB depth (more depth = more capacity, slightly more visible change).
- 4Click Hide — your browser embeds the message into the image pixels and offers a PNG download.
- 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.