Text steganography
Hide a short message in ordinary text with zero-width characters. Optional passphrase XOR.
Runs in this tab. The file stays here.
This runs in your browser. Nothing is uploaded.
About Text steganography
Hide a short secret message inside ordinary cover text using zero-width Unicode characters, with optional passphrase XOR — decode the same way in this tab.
Text steganography here appends a bit stream encoded as zero-width space and zero-width non-joiner characters. The cover still looks normal; the payload is invisible in most editors.
Use it for puzzles, ARGs, or a private note between people who both have this tool — not as a promise of secrecy against platforms that strip invisible characters. Many apps destroy zero-width characters on paste.
Optional passphrase XOR is basic obfuscation, not encryption. The same idea of invisible Unicode appears in the caption line-break formatter for a different job.
How to use Text steganography
- 1Enter cover text and a secret message (Hide mode).
- 2Optionally set a passphrase, then hide and copy the result.
- 3To reveal, paste the text and decode with the same passphrase if used.
What it won't do
- Fragile across apps that sanitize Unicode.
- Passphrase is XOR obfuscation only.
Common questions
Why did reveal fail after I pasted into another app?
Many platforms strip zero-width characters. The message only survives when those characters remain intact.
Is the passphrase real encryption?
No. It XOR-obfuscates the payload bytes. Do not treat it as strong crypto.
How is this related to caption formatting?
Both use invisible Unicode. Caption formatting keeps blank lines; this tool encodes a hidden bit stream.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation