Ready
0 chars · 0 words
free checks per 24 hours
5
invisible characters checked
14
needed to run a check
No account

Grok invisible characters

What the Grok invisible character detector does

Paste in text copied out of Grok, from the standalone app or from inside X, and this app finds the zero-width and non-printing Unicode characters sitting inside it, without changing how the text looks. It's built for the question people ask before pasting Grok output anywhere else: why does this have hidden characters in it, answered with a specific list rather than a vague warning.

It's a server tool, not a browser script. Your text is sent to our AI server to be checked, and you get 5 free checks in any rolling 24 hours. No account, and nothing you paste is needed again once the result comes back.

The characters

The 14 hidden characters this app checks for

Every character checked here is an ordinary Unicode codepoint with a real technical purpose, grouped 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 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.

Workflow

How to check Grok text for invisible characters in three steps

No formatting to strip first, nothing to configure. Paste, run, read.

1. Copy from Grok
Use the interface's own copy button rather than selecting text by hand. That's the version most likely to carry hidden characters.
2. Run the check
It goes to our AI server once, gets scanned for hidden Unicode characters, and the result comes back to the page.
3. Read what was found
Each flagged character is listed with where it sits. Nothing about the text changes; this only reports.

Where they come from

Why Grok text carries hidden characters

Grok is embedded inside X's own chat surface as well as offered as a standalone app, and both 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 copying out of a Word document, a PDF or a translated page, none of which involve Grok. Finding one tells you something about the copy path, not about who wrote the underlying words.

What a finding actually means

Does finding a hidden character prove Grok wrote the text?

No, and this app won't claim otherwise. A hidden character is a formatting artefact of the copy path, not a fingerprint tied to Grok specifically. The same characters turn up in human-typed documents exported from Word, translated text and PDF copy-paste.

That's separate from a real research area: statistical, token-level watermarking, where a model's word-choice probabilities are tuned in a pattern only a statistical test can see, not inserted characters. No character scan, including this one, can detect that kind of watermark.

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, so a flag 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 slug and its visible title stop matching. A byte-order mark inside a JSON file breaks the parser, and non-breaking spaces confuse diffing tools.

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 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. It's a server tool: your text travels to our AI server to be checked, which is why there's a limit.

You get 5 free checks in any rolling 24 hours, no account needed. For repeated cleaning with no limit at all, the site's zero-width space remover and watermark cleaner run entirely in your browser instead.

FAQ

Everything answered. Grok invisible character detector FAQ

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.

Is there a real kind of AI text watermarking?

Yes, a separate research area: statistical, token-level watermarking that biases word-choice probabilities. It can't be seen by scanning for 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. 5 free checks in any rolling 24 hours, no account and no payment.

How many free checks do I get?

Five, in any rolling 24-hour window, resetting on a rolling clock rather than a fixed time each day.

Is my text uploaded and stored permanently?

It's 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 returns.

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.

Is this affiliated with xAI?

No. It's an independent app, 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 avoids that.

Does it work on text copied from X specifically?

Yes. Rich-text rendering in social feeds is exactly where these 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, with no server round trip and no daily cap.

Does it handle non-English Grok output?

The characters are language-independent, though the zero-width non-joiner is meaningful in certain scripts and worth a closer look.

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 or PDF export left a character behind during normal formatting.

Does it work on phones?

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