Invisible Character Detector
Some characters take up no space or look exactly like a normal space, yet they break searches, passwords, code and spreadsheet formulas. Paste text to find zero-width spaces and joiners, non-breaking and other unusual spaces, byte order marks, soft hyphens, bidirectional controls, tag characters and control codes, see exactly where each one is, and copy a cleaned version.
Find Invisible Characters
Hidden characters found
Where they are
Cleaned text
How to Use the Invisible Characters
- Paste the text you want to inspect.
- Read the table: each hidden character type is listed with its code point, name, count and the lines it appears on.
- Check the preview, where each hidden character is shown as a labelled marker such as [ZWSP].
- Copy or download the cleaned text.
About This Tool
Developers debugging strings that look identical but do not match, editors cleaning text copied from the web or PDFs, and security-minded reviewers checking for hidden bidirectional characters in code.
Input: Plain text · Output: Report and cleaned text.
Features and Limitations
Features
- Detects more than 40 characters, including U+200B to U+200F, U+2028/U+2029, U+202A to U+202E, U+2060 to U+2069, U+FEFF, U+00AD, U+00A0 and the U+2000 block spaces.
- Finds C0 and C1 control codes (except tab and line breaks) and Unicode tag characters.
- Visible markers with short names, so hidden characters are found without relying on colour.
- Cleaned output that deletes or normalises each character, with care for emoji sequences.
Limitations
- Tabs and normal line breaks are treated as legitimate and are not reported.
- Characters that are visible but look alike, such as the Cyrillic а and the Latin a, are not detected; use the Unicode Character Lookup tool to check suspicious letters.
- Removing bidirectional controls can change how right-to-left text is displayed.
- Results are computed in your browser; nothing you enter is sent to a server.
Example
“pass\u200Bword” shows 1 ZERO WIDTH SPACE on line 1 and cleans to “password”.
Frequently Asked Questions
What is a zero-width space?
U+200B is a character with no width. It is used to allow line breaks in long words, but when copied into code, URLs or passwords it silently changes the text.
Why does a non-breaking space matter?
It looks like a space but is a different character (U+00A0), so searching for “two words” will not find “two words”, and some programs reject it.
What are bidirectional control characters?
They change the display order of text for right-to-left languages. Hidden in source code they can make code look different from what it does (the “Trojan Source” problem).
Will cleaning break emoji?
No, by default. Zero-width joiners and variation selectors inside emoji sequences are kept so that, for example, 👩💻 stays one emoji.
Related Tools
More like this: all Text Cleanup tools, all Text & Writing tools or the TinySandy home page.