Gemini character detector
What the Gemini invisible character detector does
Paste in text you copied out of Gemini, or out of a Google Doc or a Gmail draft where Gemini helped write a section, and this page reads it for the zero-width and non-printing Unicode characters that came along with it. Nothing about how your text looks changes. You get a description of what is in there.
This is a server tool, not a browser script. Your text is sent to our AI server to be read, you get 5 free checks in any rolling 24 hours, and each check accepts between 1 and 12,000 characters. There is no account to create. What comes back is a set of findings, not an accusation about who wrote anything.
The important distinction
Gemini's text watermark is not an invisible character
This is the thing most pages on this subject get wrong, and it is worth getting straight before you run anything. Google's text watermarking works by nudging which words the model picks while it is writing. The mark lives in the sequence of words itself. It is not a zero-width space wedged between them.
So a character detector, ours or anyone else's, cannot see it, and a character remover cannot take it out. Deleting every invisible character from a Gemini paragraph leaves the word choices exactly as they were. Anyone selling you a tool that strips characters and calls that removing Gemini's watermark is describing two different things as if they were one.
How it works
How to check Gemini text for invisible characters in three steps
Three steps, and the third one is the one people skip.
- Step 1
- Copy the text out of Gemini, Docs or Gmail and paste it into the box above. Paste as plain text if your editor offers the choice, so you are checking the characters and not a formatting wrapper.
- Step 2
- Run the check. Your text goes to our server and comes back with what was found in it, described rather than silently deleted.
- Step 3
- Decide what to do. Detecting is not removing. If you want the characters gone, that is a cleaning step, and the watermark cleaner route on this network does it.
The characters
The invisible characters that turn up in Gemini text
Our deterministic scanner, which runs on the watermark routes of this network and in the browser rather than on a server, covers fourteen characters. They fall into four groups.
- Zero-width and joiners
- U+200B zero-width space, U+200C zero-width non-joiner, U+200D zero-width joiner, U+2060 word joiner and U+FEFF byte-order mark. Invisible, they take up character slots, and they break find-and-replace, spell-check and URL slugs.
- Space lookalikes
- U+00A0 no-break space, U+202F narrow no-break space and U+200A hair space. They look like a normal space and are not one, which is why wrapping and search behave strangely around them.
- Soft hyphen
- U+00AD. Invisible until a line wraps, at which point a hyphen appears in a word that never had one.
- Directional controls
- U+202A, U+202B, U+202C, U+202D and U+202E. Embeddings, overrides and the pop that closes them. A stray one quietly reorders mixed-direction text.
- Not covered
- Directional marks U+200E and U+200F, the Arabic letter mark U+061C, line and paragraph separators U+2028 and U+2029, the combining grapheme joiner U+034F, variation selectors U+FE00 to U+FE0F, invisible math operators U+2061 to U+2064 and directional isolates U+2066 to U+2069. Other pages list these. Ours does not handle them, so it does not claim to.
Where they come from
Why Gemini text has invisible characters at all
The most likely answer is boring: they are in the training data. A model does not type on a keyboard, so it has no reason to avoid a character a human would never press. Web pages, PDFs and word-processor exports are full of no-break spaces, soft hyphens and stray byte-order marks, and a model that learned from them reproduces them.
The copy path adds its own. A chat interface renders text as HTML, and copying from HTML picks up whatever the layout used, which is often a no-break space or a hair space around punctuation. Google Docs and Gmail behave the same way. That is why the same paragraph can be clean when typed and dirty when copied.
Why it matters
What invisible characters in Gemini text actually break
They break exact matching first. A search for a phrase fails because there is a zero-width space in the middle of it. A find-and-replace misses one row in a spreadsheet. A URL slug generated from a heading gains a character that nobody can see and no editor can find. Diffs report a change on a line that looks identical.
There is a sharper version of the problem too, and it is the reason security people care. A character nobody can see is a good hiding place. Invisible characters have been used to conceal text inside what looks like an ordinary sentence, including instructions aimed at a model reading the document later. If you are pasting text from anywhere into a system that acts on it, knowing what is in there is not paranoia.
Straight answer
Does an invisible character prove Gemini wrote the text?
No, and the reverse is not true either. A no-break space proves someone copied from a rendered page. That could be Gemini, a news site, a PDF or a colleague's Word document. Plenty of entirely human writing carries the same characters, so a finding here is evidence of a copy path and nothing more.
And removing the characters does not make text pass an AI detector. Detectors read word choice and sentence rhythm, which is the same place Google's text watermark lives. This page reports what it finds. It does not claim to tell you who wrote something, and it will not promise you a result from any third-party checker.
Who uses it
Who uses a Gemini invisible character detector
The people who run into this problem are usually pasting text somewhere that cares.
- Writers and editors
- Checking a draft assembled from several sources before it goes into a CMS that will turn a hidden character into a broken slug.
- Developers
- Tracking down why a string comparison fails, or why a config value that looks correct is rejected by the parser.
- Anyone pasting into a form
- Application portals, job boards and submission systems reject or mangle input for reasons they never explain. A stray control character is a common one.