Ready
0 chars · 0 words
free checks per 24 hours
5
codepoint families checked
7
affiliation with Anthropic
0

Claude invisible characters

What the Claude invisible character detector does

Paste in text copied from Claude and this app finds the zero-width and non-printing Unicode characters hiding inside it, ones that take up no visible space but sit in the byte stream regardless. It's built for the question people search for, why does Claude text have hidden characters, answering with a specific list, not a vague warning about secret watermarks.

It runs as a server tool: text you paste goes to our AI server to be scanned, and comes back with every hidden character named and located. You get 5 free checks in any rolling 24 hours, no account, no plan, no upgrade screen behind the free runs.

This app treats a finding as information, not an accusation. These characters turn up in text copied from Claude for mostly mundane reasons, and the sections below explain them honestly before getting into what to do about them.

Workflow

How to check Claude text for invisible characters in three steps

Three steps, and nothing to configure beforehand. Paste plain text, get a plain-language list of findings back.

1. Copy from Claude
Use Claude's own copy button rather than selecting text by hand. That's the version most likely to carry hidden characters.
2. Run the check
The text goes to our AI server once, gets scanned for hidden Unicode, and the findings come back to the page.
3. Read what's flagged
Each character is named and located. Nothing in your text is changed; the app only reports what it found.

The characters

The hidden characters Claude's copy button leaves behind

Claude's chat interface renders replies as formatted, often markdown-heavy, rich text, and converting that to plain text on copy is where most of these characters slip in. Each is an ordinary Unicode codepoint with a legitimate technical purpose:

U+200B zero-width space
Takes up a character slot and renders nothing. The most common invisible character in text copied from Claude.
U+200C / U+200D joiners
Zero-width non-joiner and joiner, sometimes left over from how Claude's rich text renders characters and emoji.
U+2060 word joiner
An invisible joiner that prevents a line break at that point, often sitting near a dash or a formatted phrase.
U+FEFF byte-order mark
Meant to sit at the start of a file, occasionally left mid-response by an export or copy path.
U+00AD soft hyphen
Invisible until a line wraps there, then a hyphen shows up in a word that never had one.
U+00A0 / U+202F non-breaking spaces
Look identical to a normal space, behave differently in code, slugs and search.
Bidi controls (U+202A to U+202E)
Directional embedding and override characters, rarer in Claude text but worth checking for.

Where they come from

Why Claude text carries hidden characters

This is the part the app is honest about instead of playing up. Despite a lot of talk online about Claude hiding secret watermarks in its output, that's not what's usually happening. These characters are overwhelmingly incidental artefacts of how the chat interface's rich-text editor tracks formatting and cursor position, and of converting that into plain text on copy.

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

What a finding actually means

Does finding a hidden character prove Claude wrote the text?

No, and this app won't claim otherwise. A hidden character is a formatting artefact of the copy path, not a Claude-specific fingerprint. The same characters turn up in human-typed documents exported from Word, translated text and PDF copy-paste, with Claude 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. That's a genuine technique, and no character scan, including this one, can see it. A claim that Claude hides a watermark findable by scanning for zero-width characters describes something that isn't 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 Claude copy-paste, which is why a flag here isn't evidence of who wrote the underlying words.

Word processor exports
Word, Google Docs and similar tools insert non-breaking spaces and soft hyphens as part of normal formatting.
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, Gemini 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 in 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 Claude 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 app, and how many free checks you get

Writers, editors and developers pasting Claude output into a CMS, an email or a codebase use this to catch formatting problems before they cause one. This app runs the check server-side: your text travels to our AI server to be scanned, then the result travels back, which is why the free run is metered.

You get 5 free checks in any rolling 24-hour window, tracked without an account. Five covers most real uses: one response, one document, one flagged section at a time. For a longer batch, spacing checks across the day works better than burning the allowance at once.

FAQ

Everything answered. Everything people ask about the Claude invisible character detector

Why does text copied from Claude have hidden characters?

Usually because of how the chat interface's rich-text view converts to plain text on copy, not because anyone hid something in it deliberately.

Does Claude really put hidden watermarks in its text?

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

Is there a real form 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 found by scanning for characters, since it isn't implemented as inserted characters.

How do I check Claude text for hidden Unicode characters?

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

Is this app free?

Yes. 5 checks in any rolling 24-hour period, with no account and no charge.

How many free checks do I get?

Five per rolling 24 hours. The window rolls forward from your most recent check rather than resetting at a fixed hour.

Is my text stored?

It's sent to our AI server for scanning and used for that purpose only, not published, shared or retained for anything beyond returning the result.

Does a hidden character prove Claude wrote the text?

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

Is this affiliated with Anthropic?

No. It's an independent app, not built, endorsed or operated by Anthropic.

Does it also work on ChatGPT or Gemini 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 app only reports what it finds; it doesn't remove or alter anything.

Can these characters hurt 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 Claude 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 code snippets from Claude?

It can scan code as plain text, though it's tuned for prose. A snippet that won't compile is worth checking separately for zero-width characters.

Can hidden characters be used to disguise a link Claude gave me?

Invisible and direction-override characters can make a URL or file name display differently from how it resolves, so checking is a reasonable precaution.

Does it handle non-English Claude 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 mobile?

Yes. Both the input and the result view are usable on a phone browser.