The·quick[ZWSP U+200B]·brown·fox[Word Joiner U+2060]·jumps·over·the·lazy·dog.¶ Invisible·characters·survive[Soft Hyphen U+00AD]·copy·and·paste[VS16 U+FE0F],·which·is·why¶ a·JSON·key·like·[ZWJ U+200D]"id"[ZWJ U+200D]·stops·matching·the·one·in·your·database.¶ This·line·ends·with·a·non·breaking·space·and·a·soft[Soft Hyphen U+00AD]·hyphen.
Hover any character for its codepoint, category and name. 231 characters.
| Codepoint | Class | Count | First positions |
|---|---|---|---|
| U+200D | Zero-width characters | 2 | 123, 128 |
| U+200B | Zero-width characters | 1 | 9 |
| U+2060 | Zero-width characters | 1 | 20 |
| U+FE0F | Variation selectors | 1 | 91 |
| U+00AD | Other formatting marks | 2 | 75, 222 |
Clean text7 removed
Remove invisible Unicode watermarks from any AI text

A Claude watermark remover strips invisible Unicode characters out of text so what you paste is exactly what you see. Invisible characters are real codepoints that occupy no width on screen: zero-width joiners, the 256 variation selectors, bidirectional controls, tag characters, and private-use codepoints. They survive copy and paste, they travel through email and CMS fields, and they are counted by every program that measures a string, which is why a JSON key stops matching, a password comparison fails, or a diff shows two identical-looking lines as different.
This tool does two jobs. The detector scans your text and reports every invisible character it finds, grouped by class, with its exact codepoint and how many times it occurs, so you can see what is in there before you change anything. The remover then strips whichever classes you choose and hands back clean text. Both run entirely in your browser - nothing is uploaded, logged, or stored, which matters when the text you are cleaning is an unpublished draft, a contract, or a customer record.
One thing worth being precise about, because most pages on this topic are not. Claude's official text watermark, introduced in August 2026, is not made of invisible characters. It is a statistical watermark: token choices are nudged according to a key Anthropic holds, and the signal is spread across hundreds of words rather than stored in any single character. That means no client-side tool can remove it by deleting characters, and no client-side checker can confirm its presence or absence without that key. Anyone claiming otherwise is describing something else.
What this tool removes is the invisible Unicode that genuinely does appear in AI output, in text pasted from documents and PDFs, and in anything that has passed through a rich-text editor. That is a real and separate problem, and it is the one that breaks your code. The same scan works on output from Claude, ChatGPT, Gemini, and any other model, because invisible characters are a property of the text, not of the model that produced it.
Use it to clean your own drafts before they go into a database, to sanitise text before a string comparison, to check why a JSON payload will not parse, or to audit content you have been handed and cannot vouch for. The findings table doubles as an explanation: each class says what those characters do and why their presence matters.
How to use the Claude watermark remover
Paste your text
Drop in any text - an AI response, a document excerpt, a JSON payload. It stays in your browser; nothing is sent to a server.
Read the scan
The detector lists every invisible character by class and codepoint, with a count. An empty table means the text is clean.
Choose what to strip
Every class is on by default. Turn one off to keep it - variation selectors, for example, are load-bearing in emoji sequences.
Copy the clean text
Copy the result and re-scan it if you want proof. A cleaned string reports zero invisible characters.
What the detector covers
Every invisible class, not just zero-width
Zero-width joiners, variation selectors (both blocks), tag characters, bidi controls, invisible math operators, formatting marks, and all three private-use areas.
Codepoint-level findings
Each finding names the exact codepoint in U+ notation with an occurrence count, so you can verify against the Unicode standard rather than trust a total.
Selective removal
Strip classes independently. Emoji sequences depend on zero-width joiners and variation selectors, so deleting everything is not always right.
Space normalisation kept separate
Non-breaking and typographic spaces are replaced with a plain space rather than deleted, because removing them would join two words.
Frequently Asked Questions
Related Tools
AI Text Humanizer
Rewrite the habits that make prose read as machine-written - inflated vocabulary, hedge phrases, em dashes, and connective filler.
AI Writing Checker
Measure the patterns that make text read as machine-written: sentence-length variation, overused vocabulary, hedging and em dash density.
String Reverse
Reverse any text string instantly. Supports file upload and URL loading with auto-reverse option.
Text to Handwriting Converter
Convert typed text into realistic handwritten style. Choose from various handwriting fonts, ink colors, and paper backgrounds.
Comments
0 comments
No comments yet. Be the first to share your thoughts!