People talk about "Unicode watermarks" in AI text. The reality is more mundane than a secret code, but the fix is the same. Here is what is actually going on.
What a Unicode watermark means
The term usually refers to invisible Unicode characters embedded in text: zero-width spaces, zero-width joiners, the word joiner, the byte-order mark, and direction marks. They take up no visible space, so you cannot see them, but they are real characters in the text.
Whether they are placed intentionally as a marker or just appear as an artifact of how AI output is rendered and copied, the effect is similar: their presence acts as a fingerprint, because ordinary human typing rarely contains them.
Is there a real, decodable watermark?
There is no confirmed, decodable watermark that AI tools stamp into every response so it can be traced back to you. Research into statistical text watermarking exists, where word choices are subtly biased in a detectable pattern, but that is different from a hidden string you could find and delete. The invisible characters, on the other hand, are real and removable.
How to remove them
Manual deletion does not work, because you cannot place your cursor on a character you cannot see. Use a cleaner that targets invisible characters by their Unicode code point. textscrubr:
- scans for every known invisible character
- removes or normalizes each one (for example, a non-breaking space becomes a normal space)
- leaves your visible text and structure untouched
- shows you a count of exactly what it found
It runs entirely in your browser, so the text is never uploaded, and it keeps the zero-width joiners that real emoji need, so removing the noise does not break your emoji.
Confirm it worked
Paste the text back into the cleaner and check the report. If it finds nothing, the invisible characters are gone. Running everything you copy from an AI tool through a cleaner makes this a non-issue.