Free · runs in your browser
Invisible Character Remover
Paste text to see every invisible character it contains, listed by code point, name and position. Removing them runs entirely in your browser: nothing is uploaded, nothing is charged, and the visible wording is left exactly as it is.
Runs in your browser · nothing uploaded
Findings
Every invisible character will be listed here by name, code point and position.
Free and unlimited.
Need the statistical layer too? A token-choice watermark is not made of characters, so it needs the full rewrite instead.
How this works
Deterministic marks can be removed exactly. Probabilistic patterns can only be reduced. Simple Unmark keeps the two separate and does not promise detector outcomes.
- This tool is deterministic and local. The scan and the cleanup both run in your browser, so the text never leaves your device and no account or credit is needed.
- It reports each code point individually — the character, its U+ value, its Unicode name and where it occurs — so you can decide what to remove instead of trusting a black box.
- Zero-width joiners and non-joiners are preserved by default, because deleting them damages emoji sequences and text in scripts such as Arabic, Persian, Hindi and Malayalam. Aggressive cleaners that strip them corrupt legitimate multilingual text.
Three steps
- 1
Paste or type your text. The scan updates as you type, with no request sent anywhere.
- 2
Review the listed code points. Each row names the character and shows how many times it occurs and where.
- 3
Copy the cleaned text. Only invisible characters change; every visible character stays as it was.
Worked example
Before
user[U+200B]name[U+00AD] = [U+00A0]"value"
After
username = "value"
A zero-width space, a soft hyphen and a non-breaking space removed or normalised. This is why pasted identifiers and config values fail validation while looking perfectly correct on screen.
Scope
What this page can and cannot do
Can
- List every covered invisible character by code point, name, count and position
- Remove them locally, in your browser, with no upload and no account
- Normalise non-breaking and typographic spaces to plain spaces
- Leave the visible wording completely unchanged
Cannot
- Tell you which tool or model inserted a character — presence is not provenance
- Detect a statistical watermark, which is not made of characters at all
- Fix a token-choice watermark from Gemini or Claude; that needs the full rewrite instead
- Guess intent: a zero-width joiner may be essential to your text, which is why it is preserved by default
Submitted text and cleaned output are not stored in our application database, and no text is ever sent to analytics. Deterministic inspection on the invisible character remover runs entirely in your browser. See the privacy policy and methodology.
Coverage
Every character this tool handles
Published in full so you can check it rather than trust it. Zero-width joiners and non-joiners are deliberately absent: removing them corrupts emoji sequences and text in several writing systems.
Removed (28)
U+00AD | Soft hyphen |
U+034F | Combining grapheme joiner |
U+061C | Arabic letter mark |
U+180E | Mongolian vowel separator |
U+200B | Zero width space |
U+200E | Left-to-right mark |
U+200F | Right-to-left mark |
U+202A | Left-to-right embedding |
U+202B | Right-to-left embedding |
U+202C | Pop directional formatting |
U+202D | Left-to-right override |
U+202E | Right-to-left override |
U+2060 | Word joiner |
U+2061 | Function application |
U+2062 | Invisible times |
U+2063 | Invisible separator |
U+2064 | Invisible plus |
U+2066 | Left-to-right isolate |
U+2067 | Right-to-left isolate |
U+2068 | First strong isolate |
U+2069 | Pop directional isolate |
U+206A | Inhibit symmetric swapping |
U+206B | Activate symmetric swapping |
U+206C | Inhibit Arabic form shaping |
U+206D | Activate Arabic form shaping |
U+206E | National digit shapes |
U+206F | Nominal digit shapes |
U+FEFF | Zero width no-break space (byte order mark) |
Normalised to a plain space (16)
U+00A0 | No-break space |
U+1680 | Ogham space mark |
U+2000 | En quad |
U+2001 | Em quad |
U+2002 | En space |
U+2003 | Em space |
U+2004 | Three-per-em space |
U+2005 | Four-per-em space |
U+2006 | Six-per-em space |
U+2007 | Figure space |
U+2008 | Punctuation space |
U+2009 | Thin space |
U+200A | Hair space |
U+202F | Narrow no-break space |
U+205F | Medium mathematical space |
U+3000 | Ideographic space |
Unicode tag characters (U+E0000–U+E007F) are also removed as a range. They have no legitimate use in ordinary prose and can encode hidden text inside visible text.
Questions
About invisible character remover
Sources
- UTR #36: Unicode Security ConsiderationsUnicode Consortium · first-party
- UAX #9: Unicode Bidirectional AlgorithmUnicode Consortium · first-party
- UAX #15: Unicode Normalization FormsUnicode Consortium · first-party
- Is this really free?
- Yes, and unlimited. The scan and cleanup are plain JavaScript running locally, so there is no per-request cost to pass on. Credits apply only to the model-backed rewrite, which is a separate tool.
- Does the visible text change?
- No. This tool only touches invisible characters and unusual spaces. If you also want the wording rewritten to address a statistical watermark, use the AI watermark remover instead.
- Why can hidden characters break things?
- Because software compares bytes, not appearances. A zero-width space inside an identifier, URL, password field or code sample makes two visually identical strings unequal, which surfaces as a validation error with no visible cause.
- Do invisible characters prove text is AI-generated?
- No. They are inserted by web pages, editors, PDF exports and chat clients for ordinary layout reasons. Treating them as an AI fingerprint is a common and unfounded claim.
Read the evidence
Guides behind this tool
- Hidden Unicode vs Statistical Text WatermarksThe two mechanisms confused most often: invisible Unicode characters versus keyed token-choice watermarks. What each one is, what removes it, and what neither proves.
- How AI Text Watermarks WorkHow hidden-character marks and statistical token watermarks differ, how detection works, and why removal claims should always be bounded.
- AI Watermarks vs AI Detectors vs Provenance MetadataThree different things routinely confused: keyed watermarks added at generation, statistical AI detectors that guess, and C2PA metadata attached to files.
Other cleaners
- AI Watermark RemoverText only · free to try
- Gemini Watermark RemoverSynthID Text · documented
- SynthID Watermark RemoverMechanism-specific
- Claude Watermark RemoverDocumented as of August 2026
Need more than three cleans?
Credits cost 0.1 per started 100 words, never expire, and there is no subscription. An account raises the limit to 5,000 words per clean.
See pricing