Ready
0 chars · 0 words
free checks per 24 hours
5
characters per check
12,000
check, decide, clean
3 steps

Gemini character detector

What this Gemini invisible character detector does

This is the check step in a two-step workflow. Paste text you copied out of Gemini, or out of a Google Doc or Gmail draft that Gemini helped write, and the page reports the zero-width and non-printing Unicode inside it. Your text is not modified and nothing is deleted behind your back.

It is a server route, so your text is sent to our AI server to be read. You get 5 free checks in any rolling 24 hours, and each check takes between 1 and 12,000 characters. Plan longer documents as sections rather than trying to push a whole manuscript through one run.

Know what you are chasing

Gemini's text watermark is not one of these characters

Worth settling before you build any process around this. Google's text watermarking works on word choice, biasing which tokens the model picks as it writes. The signal lives in the sequence of words, not in a hidden character between them.

For your workflow this means two separate jobs that are often confused. Cleaning invisible characters fixes search, diffs, slugs and form submissions. It does not touch a token-selection watermark, and no character-based tool on any site does. If someone tells you their character stripper removes Gemini's watermark, they are describing the wrong layer.

The workflow

How to check Gemini text for invisible characters in three steps

Detecting and cleaning are deliberately separate, because you want to see the findings before anything is changed.

Step 1
Paste the passage into the box above, as plain text where your editor gives you the option, so you are checking the characters rather than a formatting wrapper.
Step 2
Run the check and read the findings. This is where you learn whether the problem is one stray character or a systemic one across every paste from the same source.
Step 3
Clean if you need to. This route reports only. The watermark cleaner route on this network is the one that removes, and it runs in your browser rather than on a server.

The checklist

Which invisible characters the scan covers

Our deterministic scanner, the one on this network's watermark routes, covers fourteen characters in four groups. Keep this as your checklist.

Zero-width and joiners
U+200B, U+200C, U+200D, U+2060 and U+FEFF. These are the ones that break find-and-replace and URL slugs while occupying a real character slot.
Space lookalikes
U+00A0, U+202F and U+200A. They render as a space and are not one, so wrapping and exact search behave in ways nobody can explain by looking.
Soft hyphen
U+00AD. Invisible until the line wraps, then a hyphen appears in a word that never had one. This is the one that surfaces in print and PDF export.
Directional controls
U+202A, U+202B, U+202C, U+202D and U+202E. Embeddings, overrides and the pop that closes them, which reorder mixed-direction text when left stranded.
Outside the checklist
U+200E, U+200F, U+061C, U+2028, U+2029, U+034F, U+FE00 to U+FE0F, U+2061 to U+2064 and U+2066 to U+2069 are named on other tools' pages. Ours does not handle them, so do not treat a clean result as covering them.

Where they come from

Why Gemini output carries invisible characters

Two sources, and knowing which one you are dealing with changes what you do about it. The first is the training data. A model has no keyboard, so nothing stops it emitting a character a person would never type, and the web it learned from is full of no-break spaces, soft hyphens and stray byte-order marks.

The second is the copy path, and this one is fixable at the source. Chat interfaces render to HTML, and copying from HTML picks up whatever the layout used, commonly a no-break space or a hair space around punctuation. Google Docs and Gmail do the same. If every paste from one source is dirty in the same way, the copy path is your culprit and paste-as-plain-text is the cheapest fix.

Why it matters

What invisible characters break in a real workflow

Exact matching goes first. A phrase search fails, a find-and-replace skips a row, a diff reports a change on a line that looks identical, a generated URL slug picks up a character nobody can see or delete. Each of these costs an hour of someone staring at two identical-looking strings.

The sharper risk is that an invisible character is a good hiding place. Text has been concealed inside ordinary-looking sentences this way, including instructions aimed at a model that processes the document later. If your pipeline pastes untrusted text into something that acts on it, checking what is in there belongs in the process, not in the incident review.

Straight answer

Does a finding prove Gemini wrote the text?

No. A no-break space tells you the text came through a rendered page. That page could have been Gemini, a news site, a PDF viewer or a colleague's Word export. Human writing copied from the web carries exactly the same characters, so treat a finding as evidence about the copy path and nothing else.

Removing the characters also does not make a passage read as human to a detector. Detectors work on word choice and sentence rhythm, which is the same layer Google's text watermark occupies. This route reports observable signals and makes no claim about authorship, and no page here promises a result from any third-party checker.

Who uses it

Who builds this check into their workflow

Three teams that run this before publishing rather than after something breaks.

Editorial teams
Checking a draft assembled from several sources before it enters a CMS, where a hidden character becomes a broken slug that outlives the article.
Developers
Working out why a string comparison fails or why a config value that looks right is rejected, before assuming the parser is at fault.
Anyone submitting through a form
Application portals and job boards reject input without saying why. A stray control character is a common and invisible cause.
FAQ

Everything answered. Questions about checking Gemini text for invisible characters

How do I check Gemini text for invisible characters?

Paste the passage above and run the check. You get a description of what is in your text, with nothing modified.

Is the Gemini invisible character detector free?

Yes, 5 free checks in any rolling 24 hours, with no account to create.

Is my text sent to a server?

Yes. This route posts your text to our AI server to be read, so treat it as you would any service you paste into.

What is the character limit per check?

Between 1 and 12,000 characters. Split a longer document into sections and run them separately.

Does this route remove the characters?

No, it reports them. Removal is the second step and lives on this network's watermark cleaner route.

Why are detecting and cleaning separate steps?

So you see what is in the text before anything changes. That matters when the same finding repeats across every paste from one source.

Does Gemini watermark its text?

Google's text watermarking biases which words the model selects. The mark is in the word sequence, not in a hidden character.

Can this find Gemini's text watermark?

No. A character check reads characters, and a token-selection watermark is not one.

Can a character stripper remove Gemini's watermark?

No. Deleting invisible characters leaves every word choice exactly as it was, and the word choices are where the mark sits.

How many characters does the scan cover?

Fourteen: five zero-width and joiner characters, three space lookalikes, the soft hyphen and five directional controls.

What is not covered?

Directional marks, the Arabic letter mark, line and paragraph separators, the combining grapheme joiner, variation selectors, invisible operators and directional isolates.

Will cleaning change how my text looks?

Rarely. The visible exception is a no-break space, which becomes a normal space, so a line can wrap differently afterwards.

Does this work on Google Docs and Gmail text?

Yes. Anything you can paste as text can be checked, whatever Google surface it came from.

Does it work on output from other models?

Yes. The characters are the same regardless of which assistant produced the text.

Why is every paste from one source dirty?

That points at the copy path rather than the model. Pasting as plain text from that source usually fixes it at the origin.

Does a finding prove AI wrote my text?

No. It shows the text travelled through a copy path that carried the character. Human writing copied from the web carries the same ones.

Will this help my text pass an AI detector?

No, and no page here promises a result from a third-party checker. Detectors read word choice and rhythm instead.

Can invisible characters hide instructions?

Yes, text can be concealed inside an ordinary sentence, including instructions aimed at a model reading the document later.

Does it work on a phone?

Yes, paste into the box in a mobile browser and run the check the same way.

Is there batch processing or an API?

No. This page takes one paste at a time within the free check allowance.

Is this affiliated with Google?

No. This is an independent page, not made by, endorsed by or connected to Google or Gemini.