Text copied out of ChatGPT, Claude or Gemini often carries characters you cannot see: zero-width spaces, narrow no-break spaces, direction controls, letters from the wrong alphabet. Paste it below to see exactly what is in there — then take a clean copy.
Free, unlimited, no account. The text never leaves your browser.
Next step
AI text detectors score rhythm and word predictability, not stray code points. The Text Humanizer rewrites those — free in your browser, no login.
First, the part nobody explains
Extra code points that carry no visible glyph: zero-width characters, unusual spaces, direction controls, tag characters, letters swapped for look-alikes from another alphabet. They are objectively present — you can count them, and you can delete them without touching a single word.
This is what the tool above removes.
A token-level watermark such as SynthID-Text nudges which word the model picks at each step, spreading a statistical pattern across the whole passage. There is no marker character to find, because the marker is the text.
No cleaner touches this. Only rewriting does.
Most pages selling an “AI watermark remover” quietly conflate the two, then take credit for the easy half. We would rather draw the line: the cleaner above handles the character half completely, and the text humanizer is what addresses the statistical half — by actually rewriting the prose, which is also what moves a detector score.
What is in a paste
Five of them are characters in your text. The sixth is the one no character cleaner can reach — listed anyway, because leaving it out is how this market misleads people.
ZERO WIDTH · FORMAT CONTROLS
Zero-width spaces, joiners and non-joiners, word joiners, soft hyphens, byte-order marks and Unicode tag characters. They take up no space on screen, survive copy-paste, and travel into every field you paste them into.
Removed
SPACING · LOOKS LIKE A SPACE
Non-breaking space, narrow no-break space, thin, hair and figure spaces. Visually a space, technically a different character — which is why a find-and-replace, a CSV import or a URL slug quietly breaks on them.
Normalised to a plain space
BIDI · DIRECTION OVERRIDES
Left-to-right and right-to-left marks, embeddings, isolates and overrides. Invisible, and capable of making a string display in an order that differs from the order it is actually stored in.
Removed
HOMOGLYPHS · MIXED SCRIPT
A Cyrillic а or a Greek ο sitting inside an otherwise Latin word. Identical to a reader, different to every machine — and the reason a word can fail search, spellcheck and copy-paste for no visible reason.
Mapped back to Latin, mixed-script words only
TYPOGRAPHY · VISIBLE PUNCTUATION
Not and not a watermark — but the punctuation set chat models reach for, and the first thing a human reader clocks. Off by default here, because it is an editorial choice rather than a cleanup.
Optional, off by default
TOKEN LEVEL · STATISTICAL
SynthID-Text and its relatives bias which word the model samples at each step. Nothing is added to the string, so there is no character to strip. Only genuinely rewriting the text disturbs the pattern.
Out of scope — needs a rewrite, not a cleaner
Model by model
Short version: far less than the internet assumes, and not in the way most people picture it. Each row below sticks to what the vendor has published, checked August 2026 — none of it is a claim about undocumented internals.
| Model | What is published | What you actually find in a paste |
|---|---|---|
|
Claude
Anthropic
|
As of August 2026, no covert text watermark has been announced for Claude output. | What gets called “the Claude watermark” online is almost always typography and spacing: em dashes, curly quotes, non-breaking and narrow no-break spaces, plus markdown residue from the chat UI. |
|
ChatGPT / GPT
OpenAI
|
OpenAI has publicly discussed text-watermarking research; nothing of the kind has been announced as shipped. | Users reproducibly find narrow no-break spaces and other non-ASCII spacing in copied output. Treat that as an artefact of formatting unless the vendor says otherwise — it is not a documented watermark. |
|
Gemini
Google DeepMind
|
SynthID-Text is documented and an implementation is public. | This one is real and it is token-level: the watermark lives in which words were sampled, not in extra characters. Stripping characters does nothing to it; substantial rewriting is what degrades it. |
|
Copilot, Grok, assistants
Various
|
Behaviour follows whichever base model is underneath. | The character-level categories above show up the same way, because they come from the chat surface and the model's punctuation habits rather than from any one vendor. |
Vendors change their systems without notice, so treat this as orientation rather than a guarantee. The scan above tells you what is in your specific text right now, which is the only answer that holds.
Honest scope
The last two rows are the important ones. If your goal is a lower AI detector score, character cleanup is not the lever — perplexity and burstiness are, and moving those means rewriting sentences. That is a different tool, and no tool of either kind can promise a specific verdict.
Worth stating plainly: none of this touches your own disclosure duties. Those attach to the person publishing, not to the file — Art. 50(4) of the EU AI Act and the AI-content labels on TikTok, Instagram and YouTube all apply on their own terms regardless of which characters a document contains. Use the label where it applies.
Beyond detection
Most people arrive here worrying about a detector. The reasons to clean pasted text are usually far more mundane than that — and far more likely to actually bite you.
A narrow no-break space is not the space key, so Ctrl+F, a spreadsheet lookup or a database match silently returns nothing. The text looks right and behaves wrong.
Zero-width characters travel into CSV columns, JSON strings, YAML keys, URL slugs and commit messages. They are the cause behind a surprising share of “but it looks identical” bugs.
Applicant-tracking systems, plagiarism checkers and editorial tooling all normalise text before they compare it. Unusual characters do not help you pass anything — they mostly just look like tampering.
Runs of Unicode tag characters encode readable ASCII that no human sees. Pasting unchecked text into an agent, a ticket or a prompt is how a instruction gets a second life.
How it runs
Straight out of the chat window, a doc or an email. The text stays in your browser tab — nothing is uploaded and nothing is stored.
The scan lists every flagged character with its Unicode code point and how often it occurs. “Reveal hidden” shows exactly where each one sits in your text.
Choose which categories to clean, then copy or download plain text. Your words, punctuation and line breaks stay exactly as written.
The scan is a string operation in your tab. We cannot see text we never receive.
No API call, no worker queue. Disconnect your network and the tool still works.
Nothing is logged or stored. Close the tab and it is gone.
No account, no run counter, no watermark on the output. Clean as much text as you like.
Adjust pixel signals, inject PRNU, rebuild camera-style EXIF.
Raise burstiness and perplexity while preserving meaning.
Geometry, colour, codec and container rewrite for AI video.
What SynthID and C2PA are, and how a local re-encode affects them.
Free verification — scores any image 0–100 confidence.
Strip GPS, camera and timestamp data from any photo — free.
FAQ
Anthropic has not announced a covert watermark in Claude's text output. What people find when they look is character-level: em dashes, curly quotes, non-breaking and narrow no-break spaces, and occasionally zero-width characters picked up from the chat interface. Those are real and this tool removes them — but calling them a watermark overstates what they are.
It depends which kind you mean. Character-level markers — zero-width characters, unusual spaces, direction controls, look-alike letters — are removed by pasting the text into the cleaner above. A token-level watermark such as SynthID-Text is embedded in which words the model chose, so there is no character to delete; only rewriting the text meaningfully disturbs it.
U+202F, a non-breaking space that renders narrower than a normal one. It turns up around numbers, units and punctuation in model output. It is visually almost identical to a space and technically a different character, which is why find-and-replace, imports and slug generation break on it. The cleaner normalises it to an ordinary space.
We have no evidence that it does, and we would not claim it. GPTZero and Turnitin both describe their systems as scoring statistical properties of the writing — how predictable the word choices are and how much the sentence rhythm varies. Nothing in those published descriptions involves invisible characters. Treat cleaning them as fixing real formatting problems; changing a detector's verdict is a different job and takes an actual rewrite.
Not with a character cleaner, and we do not claim to. SynthID-Text works by biasing the model's token sampling, so the signal is distributed across the whole passage rather than stored in any one character. Google's own published analysis notes that heavy editing and paraphrasing weaken detection — that is a rewrite, not a strip.
Yes. Zero-width joiners inside emoji sequences and variation selectors attached to an emoji are recognised and left in place, so emoji do not fall apart. The same applies to zero-width non-joiners next to Arabic, Persian and Indic scripts, where they are ordinary spelling. Look-alike letters are only mapped inside words that already mix scripts, so genuine Cyrillic and Greek words are never touched.
Not unless you ask it to. The four default categories only remove characters that are invisible or actively misleading — the visible text is byte-for-byte the same words. The typography option, which converts em dashes, curly quotes and ellipses to plain ASCII, is switched off by default because it does change what a reader sees.
Never. The scan and the cleanup are pure string operations that run in your browser tab — your text is never part of a network request, which is also why the tool is free and unlimited rather than metered.
No. Disclosure duties attach to you as the person publishing, not to the file. Under Art. 50(4) of the EU AI Act a deployer publishing AI-generated or manipulated content in the relevant cases has to disclose it, and platform rules such as the AI-content toggles on TikTok, Instagram and YouTube apply on their own terms. Removing formatting characters changes none of that — use the label where it applies.
Most of the time it is mundane: a chat UI, a rich-text editor or a copy-paste path inserted them, or the model produced typographic spacing. Occasionally it is deliberate — zero-width and tag characters can encode a message, and bidi controls can make a string display differently from how it is stored. Either way, checking is a two-second job and cleaning costs you nothing.
The scan above handles everything hiding between your words. What a detector actually scores is the words themselves — and that takes a rewrite.
All third-party names, logos and trademarks (e.g. Hive, Optic, Sensity, Sightengine, Illuminarty, GPTZero, Instagram, TikTok, OnlyFans, Fanvue, SynthID, C2PA) are the property of their respective owners. SynthGuard is an independent service and is not affiliated with, endorsed by, sponsored by, or partnered with any of these companies or platforms. Detector and platform names are used solely for descriptive comparison under § 6 UWG / Art. 4 Directive 2006/114/EC.
We use a small number of cookies to keep you signed in. With your consent we'd also like to load privacy-friendly analytics so we can improve SynthGuard. See our Privacy Policy.