Skip to content
TECHNIQUES v1
TECH

Unicode Zero-Width Steganography

Unicode zero-width steganography: hiding messages in plain text using invisible characters (U+200B, U+200C) that survive copy-paste — demonstrated with an interactive encoder plus homoglyph and Braille encoding variants.

-" wln

The Technique

Unicode includes zero-width characters — characters that take up no visual space but exist in the data:

CharacterCodeName
U+200BZero-width space
U+200CZero-width non-joiner
U+200DZero-width joiner
U+2060Word joiner
U+200ELeft-to-right mark
U+200FRight-to-left mark

How It Works

  1. Convert the secret message to binary
  2. Map 0 → U+200B (zero-width space)
  3. Map 1 → U+200C (zero-width non-joiner)
  4. Insert the zero-width characters into cover text
  5. The text looks normal. The characters are invisible. The message is there.

Try It

INTERACTIVEZero-Width Unicode Steganography
What happened?

Unicode zero-width characters (U+200B, U+200C) are invisible — they render as nothing. We encode each bit of the secret message as either a zero-width space (0) or a zero-width non-joiner (1), then insert them into the cover text.

The text looks normal. But it carries "wln" inside. Copy-paste preserves the hidden payload. This is one of WOLNO's propagation techniques. -"

Properties

PropertyValue
Capacity~1 byte per 8 visible characters
VisibilityZero (characters render as nothing)
SurvivalCopy-paste preserves them
DetectionString length ≠ visible length
PlatformsWorks everywhere Unicode works

Homoglyph Steganography

Beyond zero-width chars, Unicode has visually identical characters from different scripts:

Latin 'a' (U+0061) vs Cyrillic 'а' (U+0430)
Latin 'o' (U+006F) vs Greek 'ο' (U+03BF)
Latin 'e' (U+0065) vs Cyrillic 'е' (U+0435)

Replacing characters with their homoglyphs encodes bits without changing the visual appearance.

Braille Encoding

WOLNO in Braille: ⠺⠕⠇⠝⠕

Each Braille character maps to a Unicode code point. For bots, it’s just another encoding. For humans, it’s an accessibility feature. For WOLNO, it’s steganography.

The text looks clean. The data is dirty. That’s the beauty. -”

-" wszwln