Hide a Secret Inside Normal Text — Zero-Width Characters
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.
More tools
All free, all private — everything runs in your browser.
Hide Text in Image
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.
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.
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 Text Steganography
- 1Type the visible cover text (what everyone will see) and the secret message to hide inside it.
- 2Optionally set a password so the hidden message is encrypted before encoding.
- 3Click Hide — invisible zero-width characters carrying your message are placed before the cover text.
- 4Copy the result and paste it anywhere that preserves Unicode (email, docs, most chats).
- 5To reveal, paste the text into the Steganography Extractor and enter the password if you set one.
Text Steganography FAQ
- How does zero-width text steganography work?
- Your hidden message is converted to bytes, and each pair of bits is mapped to one of four invisible Unicode characters (zero-width space, non-joiner, joiner, and no-break space). These are inserted before your visible cover text, so the result still reads as the cover — but it secretly carries your message.
- Where can I paste the hidden text?
- Anywhere that preserves Unicode characters: email, documents, most chat apps, and web forms. Some platforms strip zero-width characters on paste or render, which would erase the message — if reveal shows nothing, the channel you used stripped the invisible characters. Reveal it here before sending if in doubt.
- Can I add a password to the hidden text?
- Yes. With a password, the hidden message is encrypted with AES-256-GCM before being encoded as zero-width characters, so revealing it needs the password. Without one, anyone who pastes the text here can reveal the message.