Free Grok invisible character detector

Find what Grok's copy button carried over.

Check text copied from Grok for hidden Unicode characters. Free tool, 5 checks every 24 hours, with an honest explanation of why they're there.

5 free runs every 24 hours
0 chars / 0 words
free checks every 24 hours
5
invisible characters checked
14
affiliation with xAI
0

Grok invisible characters

What the Grok invisible character detector does

Paste in text copied out of Grok, whether from the standalone app or from inside X, and this tool finds the zero-width and non-printing Unicode characters inside it, without changing how the text looks. It answers the question people type into a search bar, why does text from Grok have hidden characters, with a specific list of what it found, not a vague warning about secret markers.

This is a server tool, not a browser script. Your text is sent to our AI server to be checked; you get 5 free checks in any rolling 24 hours. There's no account to create, and no text you paste is needed twice. What comes back is a list of findings, not an accusation, and this page explains honestly why they're there before getting into what to do about them.

The characters

The 14 hidden characters this detector checks for

Every character this tool looks for is an ordinary Unicode codepoint with a legitimate technical purpose, grouped here into seven families:

Zero-width space (U+200B)
Occupies a character slot and renders nothing. The single most common invisible marker in copied AI output.
Zero-width joiners (U+200C, U+200D)
The non-joiner and joiner, sometimes left over from how rich text renders certain characters and emoji.
Word joiner (U+2060)
An invisible joiner that prevents a line break at that point, often sitting near a bolded phrase.
Byte-order mark (U+FEFF)
A marker meant to sit at the start of a file, occasionally left mid-response by an export or copy path.
Soft hyphen (U+00AD)
Invisible until a line wraps there, then a hyphen appears in a word that never had one.
Non-breaking spaces (U+00A0, U+202F, U+200A)
Look identical to a normal space, behave differently in code, slugs and search.
Bidi controls (U+202A to U+202E)
Five directional embedding and override characters that can quietly reorder mixed-direction text.

How it works

How to check Grok text for invisible characters in three steps

It takes less time than reading the result does. There's no formatting to strip out first, and nothing to configure before you run the check: paste, run, read.

Step 1
Copy the text from Grok using the interface's own copy option rather than selecting it by hand. That's the version most likely to carry hidden characters.
Step 2
Press Check text. It goes to our AI server once, gets scanned for hidden Unicode characters, and the result comes back to the page.
Step 3
Read each flagged character and where it sits. Nothing about the text is changed; this page only reports what it found.

Where they come from

Why Grok text carries hidden characters

This is worth being straightforward about. Grok is embedded inside X's own chat surface as well as offered as a standalone app, and both interfaces render bold text, bullet lists and quoted material; converting that formatting to plain text on copy is where most of these characters slip in.

The same kinds of characters show up when you copy out of a Word document, a PDF or a translated page, none of which involve Grok. Finding a hidden character in text copied from Grok tells you something about that copy path. It doesn't, by itself, prove the words were written by Grok rather than another source, or that xAI marked the text on purpose.

What a finding actually means

Does finding a hidden character prove Grok wrote the text?

No, and this tool won't claim otherwise. A hidden character is a formatting artefact of the copy path, not a Grok-specific fingerprint. The same characters show up in human-typed documents exported from Word, translated text and PDF copy-paste, with Grok nowhere in the chain.

It's worth separating this from a different, real area of research: statistical, token-level watermarking, where a model's word-choice probabilities are tuned in a pattern a statistical test can detect, not by inserted characters. No character-level scan, including this one, can see it. A claim that Grok hides a watermark findable by scanning for zero-width characters describes something different from how real watermarking research works.

Why you might see a flag

Why human-written text can trigger this too

Plenty of ordinary human workflows produce the same characters as a Grok copy-paste, which is why a flag here isn't evidence of who wrote the underlying words.

Copying from X or other social apps
Rich-text rendering in social feeds and quote-post embeds can leave formatting characters behind on copy.
Translation tools
Machine and professional translation software frequently leaves directional or joining characters behind.
PDF copy-paste
Extracting text from a PDF often introduces stray characters the original document never displayed.
Other chat interfaces
ChatGPT, Claude and other assistants render rich text too, and can leave similar characters behind on copy.
CMS and rich-text editors
Switching between rich text and plain text views in a CMS is a common source of leftover formatting characters.

Why it matters anyway

What these hidden characters actually break

These characters cause real problems once text moves somewhere that parses it strictly. A zero-width space inside a heading splits a keyword, so a page's slug and visible title stop matching. A byte-order mark stuck inside a JSON file breaks the parser, and non-breaking spaces confuse diffing tools and find-and-replace.

Pasting straight from Grok into a CMS, an email or a code editor is exactly where these problems surface. Checking first turns a category of confusing formatting bugs into a non-event.

Who uses it, and the free checks

Who uses this detector, and how many free checks you get

Writers, editors and developers pasting Grok output into a CMS, an email or a codebase use this to catch formatting problems before they cause one. This is a server tool: your text travels to our AI server to be checked, then travels back, which is why there's a limit.

You get 5 free checks in any rolling 24 hours, tracked without an account. If you're cleaning the same kind of text repeatedly and want no limit at all, the site's dedicated zero-width space remover and watermark cleaner run entirely in your browser instead, with no server round trip and no daily cap.

FAQ

Questions about the Grok invisible character detector

Everything below is answered in full, nothing to click open.

Why does text copied from Grok have hidden characters?

Usually because of how a heavily formatted answer converts to plain text on copy, whether from the standalone app or from inside X, not because anyone hid something in it deliberately.

Does Grok really put hidden watermarks in its text?

Not in the sense most people mean. The zero-width characters found in Grok output are overwhelmingly formatting artefacts, not a deliberate hidden marker, and finding one isn't proof of Grok authorship.

Is there a real kind of AI text watermarking?

Yes, a separate, real research area: statistical, token-level watermarking that biases word-choice probabilities across a passage. It can't be seen by scanning for characters, since it isn't implemented as inserted characters.

How do I check Grok text for hidden Unicode characters?

Paste it into the box on this page and press Check text. Every character found is listed with its name and where it sits.

Is this detector free?

Yes. You get 5 free checks in any rolling 24 hours, with no account and no payment.

How many free checks do I get?

Five, in any rolling 24-hour window. The count resets on a rolling clock, not a fixed time each day.

Is my text uploaded anywhere permanent?

Your text is sent to our AI server to be scanned, and that's what it's used for. It isn't published, shared or needed again after the result comes back.

Does finding a hidden character prove Grok wrote the text?

No. The same characters appear in human-typed text exported from Word, translated documents and PDF copy-paste, with Grok nowhere in the chain.

Is this affiliated with xAI?

No. It's an independent tool, not made by, endorsed by or connected to xAI.

Does it also work on ChatGPT or Claude text?

Yes, the scan looks at the characters, not the source, so text copied from any chat interface can be checked here.

Does it change my text?

No. This detector only reports what it finds; it doesn't remove or alter anything.

Can these characters hurt my SEO?

They can. A zero-width character inside a title or heading can split a keyword so what a crawler parses doesn't match what a reader sees.

Why does my CMS choke on pasted Grok text?

Hidden control characters can split words, break blocks or confuse formatting. Checking first means only ordinary characters reach your CMS.

Does it work on text copied from X specifically?

Yes. Rich-text rendering in social feeds is exactly where non-breaking spaces and zero-width characters tend to cluster, so it's worth checking that content in particular.

Is there a tool that cleans these characters with no daily limit?

Yes. The site's zero-width space remover and watermark cleaner run entirely in your browser, so there's no server round trip and no cap on how many times you use them.

Does it handle non-English Grok output?

The characters are language-independent, though a couple, like the zero-width non-joiner, are meaningful in certain scripts and worth a closer look before assuming they're stray.

Is there a batch mode or an API?

Not yet. One check at a time, up to 5 in any rolling 24 hours.

Why did text I typed myself get flagged?

Usually a word processor, translation tool, PDF export or mobile keyboard left a character behind during normal formatting, not because of anything unusual in your writing.

Does it work on phones?

Yes. The page and the result both work on a phone browser with no app to install.

Check a piece of text in about ten seconds.

Paste it in, run the check, read what's actually there. 5 free checks every 24 hours, no account required.

Check my text