What is Invisible Character Detector?

The Invisible Character Detector scans your text for hidden Unicode characters like zero-width spaces, soft hyphens, and non-breaking spaces that can cause bugs in code, break copy-paste operations, or hide malicious content. Paste any text to instantly reveal every invisible character with its Unicode name and position.

The detector scans for six categories: zero-width characters (U+200B, U+200C, U+200D), directional marks (LRM, RLM), variation selectors, control characters, unusual spaces (no-break, em-quad, thin), and other rare invisibles. Each hit shows its Unicode name, hexadecimal code point, position in the text, and category. Filter by category and copy the cleaned text with one click.

How to use

  1. Paste or type your text into the input area — hidden characters are detected instantly as you type.
  2. Review the highlighted results showing each invisible character's Unicode name (e.g., U+200B Zero Width Space), position, and context.
  3. Pick which categories to strip with the filter pills, then click 'Clean Text'. Copy or Download the cleaned result when you're done.

When to use

  • Debugging code that throws unexplained syntax errors after copy-paste from a webpage.
  • Sanitising user-submitted text before storing it in a database.
  • Checking whether a suspicious email or document hides homoglyphs or smuggled Unicode.

Result

You paste a code snippet copied from a website that keeps throwing a syntax error. The detector reveals two zero-width spaces (U+200B) hidden between variable names, plus a right-to-left mark (U+200F) at the end of a line — all invisible in your editor but breaking your compiler.

FAQ

What's a zero-width space and why does it break my code?
U+200B is an invisible character originally meant for typesetting Asian scripts. When pasted into code, it sits between characters but doesn't render — so 'const foo' might actually be 'const⁠foo' to the compiler, which sees an unknown identifier and throws.
Are invisible characters always bad, or do some have legitimate uses?
Many are useful. Zero-width joiners build emoji like the family sequence. Variation selectors switch emoji presentations. No-break spaces hold names together. The detector classifies each one so you can keep what you need and strip the rest.
Can invisible characters be used maliciously?
Yes. Phishing emails sometimes hide bidirectional override characters (U+202E) to make 'invoice.exe' look like 'invocxe.pdf' in the file name. Some prompt-injection attacks use them too. Running text through the detector reveals these hidden manipulations immediately.
Does 'Clean Text' remove every invisible or only some categories?
It removes every invisible character the detector flagged after applying your filter. If you've toggled off 'space' so visible spaces remain, those won't be touched. To strip absolutely everything invisible, enable all six categories before cleaning.
Will the detector flag my normal spaces and line breaks too?
No. Regular ASCII spaces (U+0020), tabs (U+0009), and newlines (U+000A/U+000D) are filtered out by default because they're expected. Only the unusual variants — non-breaking, hair, en-space, etc. — show up so the report focuses on real anomalies.

Related Tools