RU EN

Hidden characterschecking text for invisible Unicode marks

Finds what the eye cannot see: zero-width characters, tag codes from the U+E0000 range that can hide an entire message inside a sentence, look-alike letters and non-breaking spaces. Every find is shown with its code point and position.

Your text never leaves your device. The check runs inside your browser: nothing is sent anywhere.

What to fix

What exactly is looked for

CategoryCode pointsWhy it matters
Zero widthU+200B, U+200C, U+200D, U+2060, U+FEFFInvisible entirely; the usual way to mark text
Tag charactersU+E0000–U+E007F, U+E01F0–U+E0FFFA whole message hides inside an ordinary string
IgnorableU+2065, U+FFF0–U+FFF8, U+E0080–U+E00FFReserved invisible code points
Non-charactersU+FDD0–U+FDEF, U+xFFFE, U+xFFFFThe standard forbids them in interchange
Text directionU+202A–U+202E, U+2066–U+2069Reverse the output: file.exe can look like a picture
Blank carriersU+180E, U+3164, U+FFA0, U+115FRender as emptiness but are not spaces
Variation selectorsU+FE00–U+FE0F, U+E0100–U+E01EFOutside emoji they are used for steganography
Look-alike lettersCyrillic, GreekLook-alike domains and filter evasion

Questions

Will this remove an AI watermark from text

No. Two different things get called the same name. Invisible Unicode characters — what this tool finds — are inserted by editors, chatbots and sometimes deliberately; they are removed completely and verifiably. Statistical watermarks such as SynthID-Text live not in the characters but in the choice of words: during generation the model nudges token probabilities using a secret key. There is nothing in the file a filter could cut out. Such a mark can only be broken by rewriting the text with another model, and even then the result is probabilistic. Any service promising to “remove the AI watermark” with one button either does exactly what this page does, or simply paraphrases your text.

Why do emoji survive

U+200D (zero-width joiner) is both an invisible character and the glue that holds compound emoji together: 👨‍👩‍👧 is three people joined by two of them, and 🏳️‍🌈 is a flag plus a rainbow. The same character is required in Arabic and Indic scripts. So such characters are never removed blindly: the neighbours are inspected, and if they are emoji or letters of the relevant script the character stays. The report shows how many service characters were kept and why.

What are look-alike letters

The Cyrillic “а” and the Latin “a” look identical but are different characters. Look-alike domains, filter evasion and broken search all build on that. The tool only fixes obvious substitutions: no more than two foreign letters in a word and each of them having a counterpart. Words where scripts mix on purpose — brand names, transliteration in file names — are left alone.