The tool
What the AI watermark detector does
Paste text and the AI watermark detector marks two kinds of thing in place. First, invisible characters: 14 specific codepoints that take up no visual space but are really there, each reported with its name, its codepoint and how many times it occurs. Second, 17 writing patterns that read as machine-written, each labelled with what is wrong with it.
The whole thing runs in the page you are on. Your text is never sent anywhere, there is no length limit and there is no daily allowance, because there is no request being made.
Important
The two different things called an AI watermark
The term covers two mechanisms with nothing in common, and most pages on the subject quietly swap one for the other.
The first is invisible Unicode characters sitting in the text: zero-width spaces, word joiners, odd space variants. They are ordinary characters, they survive copy and paste, and a program can find them exactly. That is what this detector does.
The second is statistical watermarking, where a model biases its choice between near-equivalent next words in a consistent hidden pattern, so a matching statistical test can later recover the signal. That lives in the probabilities behind the wording, not in any character you could point at. This detector does not do that, cannot do that, and says so plainly further down.
Workflow
How to use the AI watermark detector in three steps
No account, no upload, no waiting.
- Step 1
- Paste the text straight from wherever you copied it. Do not retype it, because retyping is exactly what strips the characters you are looking for.
- Step 2
- Read the marked-up text. Every invisible character appears as its own marker with a codepoint and a label, and every flagged phrase is highlighted with the reason it was flagged.
- Step 3
- Decide per finding. Characters are almost always safe to remove. Phrases are editing prompts, not errors, so change the ones that are genuinely filler and keep the ones that say something.
The list
The 14 hidden characters this detector finds
Fourteen, and the number is worth explaining because competing pages advertise 34, 87 or 104. Those larger lists are padded with visible characters: em dashes, curly quotes, variation selectors. An em dash is not hidden, it is punctuation you can see, and it has its own tool here rather than a place in this list.
Our 14 are the characters that are genuinely invisible or that impersonate a normal space. Three of them, the no-break space, the narrow no-break space and the hair space, are replaced with an ordinary space rather than deleted, because deleting them would join two words together.
- Zero-width space, U+200B
- Invisible, occupies a character slot and survives copy-paste. The most common one in copied AI output.
- Word joiner, U+2060
- An invisible joiner, usually found wedged against a dash. No visual effect, but it breaks search and diffing.
- Byte-order mark, U+FEFF
- Confuses parsers, feeds and validators, and shows as a stray glyph in some editors when it turns up mid-document.
- Soft hyphen, U+00AD
- Invisible until the line wraps, at which point a hyphen appears in a word that never had one.
- No-break space, U+00A0
- Looks identical to a normal space but is a different codepoint. A common cause of broken wrapping.
- Right-to-left override, U+202E
- Reverses the display order of what follows, so a file name or link can read differently from what it actually is.
Writing tells
The 17 AI writing patterns it flags
Invisible characters are only half of what makes text look machine-made, and they are the half that disappears the moment someone retypes a sentence. The other half is phrasing, and the detector matches 17 documented patterns with a label and a reason for each.
They include the scene-setting opener about today's rapidly evolving landscape, the empty hedge that announces information instead of delivering it, the Moreover and Furthermore connector chain, delve, the tapestry and realm and testament metaphors, the negation pivot that says something is not just one thing before pivoting to another, unlocking potential, seamless and robust and cutting-edge, when it comes to, plays a crucial role, and the dead email opener hoping this finds you well. Each highlight explains why the phrase reads as filler, so you can judge it rather than obey it.
Not always a mistake
When an invisible character is supposed to be there
These characters exist because typography needs them. A soft hyphen tells a long word where it may break at a line end. A no-break space keeps a number attached to its unit. A zero-width non-joiner carries real meaning in Persian and several Indic scripts, so text in those languages deserves a careful read before anything is stripped.
The detector already handles one of these cases for you. A zero-width joiner sitting between two emoji is what builds a single combined glyph out of several, so it is checked against the characters either side and left unflagged. Joiners doing that job are not markers and are not reported as such.
The honest limits
What the AI watermark detector cannot detect
It cannot detect a statistical watermark embedded in word choice. No code here performs any test on token probabilities, and the published position on the vendor watermark that is known to exist is that no public tool reliably reads it and that a tool claiming to is either guessing from style or overstating itself.
It cannot read signed file metadata, the Content Credentials manifest that travels with some generated files. That is a mechanism for files rather than pasted text, and we do not implement it. Nor can it tell you which model produced your text. A zero-width space carries no vendor signature, so anyone naming the model from invisible characters alone is inventing the connection.
Straight answer
Does removing hidden characters beat an AI detector?
No. AI detectors score the writing, not the invisible characters, so stripping them changes essentially nothing about what a detector reports. This is well documented by people who build detectors for a living, and we will not claim otherwise.
The reasons to clean them are practical. They break find-and-replace, corrupt URL slugs, throw off spell-check, wreck CSV and JSON parsing, and inflate character counts against a limit. Beating a detector is not on that list, and any tool selling that promise is selling something it cannot see.