What the checker looks for
The Claude Watermark Checker inspects every single character in your text and flags any that is not an ordinary, visible one. It reports the exact Unicode codepoint, the official character name and the count for each — and if a hidden message is encoded in the text, it decodes and displays it.
Most tools in this space give you a yes or no. That is not useful when you need to know what is in a document and whether it matters. A no-break space picked up from Microsoft Word is not the same thing as an invisible payload someone deliberately embedded, and a tool that reports both as “watermark detected” has told you nothing.
So the checker reports findings the way a diagnostic tool should: grouped by category, ranked by how serious they are, with the raw codepoints visible so you can verify anything yourself.
The nine categories
| Category | Severity | What it means |
|---|---|---|
| Unicode tag characters | High | Can encode a complete hidden ASCII message. |
| Zero-width characters | High | Fully invisible; can carry binary-encoded data. |
| Bidirectional controls | High | Can display text in a different order than stored. |
| Homoglyphs | High | Cyrillic or Greek letters posing as Latin ones. |
| Variation selectors | Medium | Invisible modifiers; chainable to hide data. |
| Control characters | Medium | Non-printing codes that break parsers. |
| Non-standard spaces | Medium | Narrow no-break, thin, em spaces and similar. |
| Styled Unicode letters | Low | Mathematical, fullwidth or decorative letterforms. |
| Typographic characters | Low | Curly quotes, em dashes, ellipsis characters. |
How to read the score
The score is a weighted summary, not a simple count. Ten curly quotes in a long article are unremarkable; a single Unicode tag character is not. The weighting reflects that, and the score is scaled by finding density so one stray character in a 5,000-word document does not get reported with the same alarm as fifty in a paragraph.
- 0 — Clean. Every character is standard and visible.
- 1–34 — Minor formatting artifacts. Typically curly quotes or a stray no-break space. Normal in text from Word, Docs or a PDF.
- 35–69 — Suspicious characters found. Invisible or non-standard characters are present in a quantity worth looking at.
- 70–100 — Watermark characters found. Characters with no ordinary reason to be in prose, or a decoded hidden payload.
Decoding hidden messages
Two techniques are common enough to decode automatically, and the checker handles both.
Unicode tag characters
The block from U+E0000 to U+E007F maps one-to-one onto ASCII —
subtract 0xE0000 and you get a normal character back — while rendering as
nothing at all. Any run of them is decoded and shown to you in full.
Zero-width binary
Zero-width space as 0, zero-width non-joiner as 1, eight bits to a
byte. The checker only reports a decode when the result is clean printable ASCII of a
believable length — a false claim that your text contains a secret message would be worse
than staying quiet.
When to run a check
- Before publishing AI-assisted content. Catch invisible characters before your CMS does something strange with them.
- On text from an unknown source. Pasted from an email, a shared doc or a web page you do not control.
- When something is broken and you cannot see why. A string comparison that fails, a search that finds nothing, a word count that is wrong, a CSV that will not parse.
- When you have been sent a document to review. Invisible text can carry instructions aimed at automated systems that process it later.
Found something you want gone? The Claude Watermark Eraser strips every category listed here, with per-category control over what gets changed.