Invisible Ink
Hide a message inside ordinary text using zero-width characters.
About invisible ink
Type a message everyone will see and a second one nobody will. The secret is encoded into zero-width Unicode characters and tucked inside the visible text, which looks completely unchanged โ copy it, paste it, send it, and the hidden part travels with it.
The reveal tab does the reverse: paste any text and it tells you whether something is concealed in it.
How it works
Unicode contains several characters that occupy no visual width โ the zero-width space, the zero-width non-joiner and the zero-width joiner. They exist for legitimate typographic reasons in scripts like Arabic and Devanagari, where they control how letters join.
Each bit of your secret message becomes one of two of these characters, with a third marking the end. Eight of them encode one byte. The result is real text carrying real characters โ it simply has nothing to display.
This is concealment, not security
Worth being blunt: anyone who suspects a message is there can extract it in seconds, including with this page. There is no key and no encryption. It hides in plain sight, which works only until somebody looks.
It is also fragile. Many platforms strip zero-width characters as an anti-spam measure, and any tool that normalises text will remove them. Assume it survives a straightforward copy and paste, and not much more.
The same trick has a serious use: giving each recipient of a confidential document a copy carrying an invisible identifier, so a leak points straight back to a person. If you ever forward a sensitive document, that is worth knowing about.
Frequently asked questions
How do you hide a message in text?
Each bit of the secret is encoded as a zero-width Unicode character and inserted into the visible text. Those characters take up no space, so the text looks identical while carrying the message.
Is this actually secure?
No. It is concealment, not encryption โ anyone who suspects something is hidden can extract it instantly. Use real encryption for anything that matters.
Will the hidden message survive being sent?
Usually through a plain copy and paste, and often through chat and email. Many platforms strip zero-width characters to fight spam, so it is not reliable.
How do I check whether text contains a hidden message?
Paste it into the reveal tab. If zero-width characters encoding a message are present, it will be decoded and shown.