Text Watermark
Embed an invisible watermark in text with zero-width Unicode characters, or check text for hidden characters and clean them out. Everything runs locally in your browser — no text leaves this page.
Note: this checks and removes character-level marks only — hidden Unicode, exotic spaces, bidi controls, and tag characters. It does not remove statistical watermarks such as Google SynthID-Text, which live in the word choice of AI-generated text, not in hidden characters. No character trick removes those; only rewriting the text does.
Note: cleaning removes every invisible character, including joiners and variation selectors that some composed emoji depend on.
The output looks identical to the input, but it carries your message as zero-width characters. Paste it into the Check tab to verify.
How it works
The watermark message is encoded as UTF-8 bits and written with zero-width characters:
U+200C (zero-width non-joiner) for 0, U+200D (zero-width joiner)
for 1, wrapped in U+2060 (word joiner) markers. The payload is inserted after
the first word, where it survives most copy-paste operations. Check & Clean detects and
removes four families of suspect characters: invisible Unicode (zero-width spaces, joiners,
soft hyphens, variation selectors), exotic spaces (no-break, en/em, ideographic, braille
blank — normalized to a plain space), bidi controls and isolates, and Unicode tag
characters (U+E0000–U+E007F).
Weak points
This is a lightweight tracer, not a secure watermark. The Clean tab strips it, many platforms drop zero-width characters, and it never survives a retype, screenshot, or Unicode normalization. It works only for tracing a leak in a closed channel, and only until someone cleans or retypes the text.
Stronger methods
For AI-generated text, statistical watermarks (e.g. Google SynthID-Text) survive copy-paste and light edits, but only work on text you generate yourself, and they live in the word choice rather than in hidden characters — so cleaning invisible characters does not remove them. The durable use of this page is defensive: Check & Clean finds hidden characters used to smuggle instructions into AI systems or slip past filters.