Runs in your browser · nothing uploaded

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.

Loading tool…

More tools

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

How to use Text Steganography

  1. 1Type the visible cover text (what everyone will see) and the secret message to hide inside it.
  2. 2Optionally set a password so the hidden message is encrypted before encoding.
  3. 3Click Hide — invisible zero-width characters carrying your message are placed before the cover text.
  4. 4Copy the result and paste it anywhere that preserves Unicode (email, docs, most chats).
  5. 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.