Each character in the secret message is converted to its UTF-8 byte representation, then expressed as a sequence of 8-bit binary values. For example, the letter A (ASCII 65, or 0x41) becomes 0 1 0 0 0 0 0 1.
Step 2 - Map binary to zero-width characters
Each binary digit is replaced with an invisible Unicode character:
Bit 0?ZWSU+200B (Zero Width Space)Bit 1?ZWNJU+200C (Zero Width Non-Joiner)
The letter A (01000001) becomes: ZWSZWNJZWSZWSZWSZWSZWSZWNJ
Step 3 - Insert between carrier text characters
The zero-width sequence is distributed between characters of the visible carrier text. Since zero-width characters have no visible width, the carrier text appears completely unchanged to any reader. The complete hidden message is interleaved throughout the carrier.
Step 4 - Decode by extracting zero-width characters
To recover the hidden message, the decoder scans the text for any ZWS (U+200B) or ZWNJ (U+200C) characters, collects them in order, groups them into 8-bit chunks, converts each chunk back to a decimal value, and interprets the values as UTF-8 text.
Capacity
Each character of the secret message requires 8 zero-width characters. So a 10-character message needs 80 zero-width characters. These are distributed between characters of the carrier text. The carrier must be at least as long as the zero-width sequence to allow interleaving, though all zero-width characters can also be appended to the end.
Detection
This encoding can be detected by examining raw bytes, checking character counts, or using a Unicode property inspector. Security tools and document analysis software can detect zero-width characters. This tool is provided for educational and legitimate watermarking purposes only.
Enter carrier text and a secret message, then click Encode.
How to use Zero-Width Hidden Message Encoder
To use the Zero-Width Hidden Message Encoder, follow these steps:
1. Enter the visible carrier text in the designated field.
2. Enter the secret message you want to hide.
3. Click the 'Encode' button to convert the secret message into zero-width characters and embed it within the carrier text.
4. Copy the encoded text and use it as needed. The hidden message can be decoded by anyone with access to the encoded text.
Encode secret messages without altering the visible text.
Use for legitimate watermarking or other purposes.
Free and accessible in your browser.
When to use Zero-Width Hidden Message Encoder
Use the Zero-Width Hidden Message Encoder when you need to hide a secret message within visible text. This is particularly useful for document watermarking, where you want to ensure that a document is only used by authorized parties. It's also helpful for embedding metadata or other information in a way that is not immediately obvious to the naked eye.
How it works
The Zero-Width Hidden Message Encoder works by converting the secret message into a sequence of zero-width Unicode characters. These characters are then inserted between the characters of the visible carrier text. The process involves several steps:
1. Convert the secret message to binary.
2. Map each binary digit to a zero-width character.
3. Insert the zero-width character sequence between the characters of the carrier text.
4. Decode the hidden message by extracting the zero-width characters and converting them back to text.
Frequently Asked Questions
Zero-width characters are Unicode code points with no visible width when rendered. Key ones include Zero Width Space (U+200B), Zero Width Non-Joiner (U+200C), Zero Width Joiner (U+200D), and Zero Width No-Break Space (U+FEFF). They are invisible to readers but present in the raw byte sequence of the text.
Each character of the secret message is converted to 8-bit binary. Bit 0 maps to Zero Width Space (U+200B) and bit 1 maps to Zero Width Non-Joiner (U+200C). These invisible characters are inserted between characters of the visible carrier text. To decode, extract all ZWS/ZWNJ characters, group into 8-bit chunks, and convert back to text.
Yes. Zero-width characters can be detected by examining the raw bytes or character count of the text, using a Unicode inspector, or with regex patterns matching Unicode category Cf. The text will have more bytes than visible characters. Security tools, document analysis software, and careful manual inspection can all reveal hidden zero-width characters.
Legitimate uses include watermarking documents to identify the source of leaks, adding invisible provenance metadata to text, and security research. Malicious uses include bypassing content filters (since invisible characters alter string comparisons without being visible), embedding covert communication channels, and the Trojan Source attack on source code. This tool is for educational and legitimate purposes only.
No. The visible text appears completely unchanged. The hidden message is encoded entirely in zero-width characters inserted between visible characters. The only detectable differences are a longer byte sequence, a higher character count, and potential issues with text processing that does not expect non-printable characters.