Unicode Steganography with Zero-Width Characters

This is plain text steganography with zero-width characters of Unicode.
Zero-width characters is inserted within the words.

JavaScript library is below.

Text in Text Steganography Sample

Original Text: (length: 90)
Hidden Text: (length: 11)


Steganography Text: (length: 0)
Download Stego Text as File

Binary in Text Steganography Sample

Original Text: (length: 90)
Hidden Data (Please Select File < 50kB):

Download Hidden Data as File
(Extension must be modified)


Steganography Text: (length: 0)
Download Stego Text as File
Zero Width Characters for Steganography:

Library Usage

unicodeSteganographer.encodeText(String, String)

encodeSteganography returns a stego String. The 1st argument is a String to be embedded, the 2nd argument is a String to be hidden.

unicodeSteganographer.encodeBinary(String, Uint8Array)

encodeSteganography returns a stego String which is embedded steganography of Uint8Array.

unicodeSteganographer.decodeText(String)

decodeSteganography returns a JavaScript Object: { originalText: original text (String), hiddenText: hidden text (String)}.

unicodeSteganographer.decodeBinary(String)

decodeSteganography returns a JavaScript Object: { originalText: original text (String), hiddenData: hidden data (Uint8Array)}.

unicodeSteganographer.setUseChars(String)

setUseChars sets the characters for steganography as a String.
Default characters used for steganography are U+200C, U+200D, U+202C, and U+FEFF.
U+200B(ZERO WIDTH SPACE) is deleted in Gmail when sending a mail from browsers.

Supported Browsers