How to Hide Text Messages Using Invisible Characters
We are constantly looking for ways to keep our digital conversations private. We use end-to-end encryption. We use self-destructing messages on Snapchat. We hide behind VPNs.
But what if you want to hide a message in plain sight? What if you could send a massive block of text to your friend, but anyone looking over their shoulder would only see a completely empty screen?
This isn’t encryption. This is steganography—the practice of concealing a file, message, or image within another file. And using invisible text, you can do it right now on WhatsApp, Discord, or iMessage.
The Art of Steganography
Here is an unpopular opinion: The best way to hide a message isn’t encrypting it—it’s hiding the fact that a message exists at all.
If someone looks at your phone and sees a giant block of scrambled letters (Jk9$Ls2!), they immediately know you are hiding something. It draws suspicion. But if they look at your phone and see a completely empty message bubble, they assume the app is glitching or someone accidentally hit the spacebar.
The Lemon Juice Analogy
When you were a kid, you might have written a “secret message” on a piece of paper using lemon juice. To the naked eye, the paper looked completely blank. But when your friend held it up to a lightbulb, the heat turned the lemon juice brown, revealing the hidden words.
Using Unicode to hide text is the exact same concept. You are encoding the binary data of your message into microscopic, zero-width characters. To the human eye, the screen is blank. But when your friend drops that blank text into a decoder, the “heat” is applied, and the hidden text is revealed.
How Zero-Width Steganography Works
To pull this off, you don’t use standard spaces or the Hangul Filler. You must use the Zero Width Space (U+200B) and its microscopic cousins (like the Zero Width Non-Joiner).
Because these characters have absolutely zero visual width, you can stack thousands of them right next to each other, and they will never take up a single pixel on the screen.
Programmers have built tools that take standard English letters (like “Meet me at 9 PM”) and convert them into binary code (1s and 0s). They then replace every ‘1’ with a Zero Width Space, and every ‘0’ with a Zero Width Non-Joiner.
The result? Your entire sentence is compressed into an invisible block of Unicode.
How to Send and Reveal a Hidden Message
You cannot do this manually. You need a dedicated tool to apply the “lemon juice.”
- Find an Encoder: You must use an advanced invisible text generator that features a steganography encoder.
- Type your Secret: Enter the message you want to hide into the tool (e.g., “The password is 1234”).
- Copy the Void: The tool will generate what looks like a single empty space. Copy it.
- Send It: Paste that empty space into WhatsApp or Discord.
- The Reveal: Your friend copies the empty space from the chat, pastes it into the “Decoder” side of the tool, and the tool translates the microscopic zero-width blocks back into English.
The Covert Trojan Horse
You don’t just have to send an empty message. You can actually hide a secret message inside a normal message.
Because zero-width characters take up no space, you can paste the encoded secret text right in the middle of a normal word. You could send a message that says, “I am going to bed now.” But embedded between the ‘b’ and ‘e’ of “bed” is a hidden string of zero-width characters that secretly reads, “I’m sneaking out, pick me up.”
Pro Tip: Never use this method to transmit highly sensitive financial or legal data. While the text is invisible to the human eye, any moderate programmer can inspect the raw data of the message and decode the zero-width string. Use it for fun, not for national security.