CalquioCalquio

Search

Search for calculators and tools

Invisible Character Checker

Detect and remove hidden characters like zero-width spaces, non-breaking spaces, and other invisible Unicode characters that can cause bugs.

Paste text above to check for invisible characters

You May Also Like

What Are Invisible Characters?

Invisible characters are Unicode characters that don't display anything visible but still exist in your text. They can cause mysterious bugs, break string comparisons, and create security vulnerabilities.

The most notorious is the Zero Width Space (U+200B) - it's literally nothing you can see, but it takes up space in your string length!

"Hello" (5 chars) vs "Hel​lo" (6 chars with ZWSP)

Common Invisible Characters

Zero-Width Characters:

  • ZWSP (U+200B) - Zero Width Space: invisible, but separates words
  • ZWNJ (U+200C) - Zero Width Non-Joiner: prevents ligatures
  • ZWJ (U+200D) - Zero Width Joiner: joins characters (used in emoji)
  • BOM (U+FEFF) - Byte Order Mark: often at file beginnings

Special Whitespace:

  • NBSP (U+00A0) - Non-Breaking Space: looks like space, but different
  • Em Space, En Space - Various width spaces
  • Ideographic Space (U+3000) - Full-width space in CJK

Formatting Characters:

  • LTR/RTL Marks - Affect text direction
  • Soft Hyphen (U+00AD) - Invisible unless line breaks

Where Do They Come From?

  1. Copy-paste from websites, PDFs, Word documents
  2. Rich text editors that add formatting
  3. Different operating systems (Windows vs Mac line endings)
  4. Emoji combinations (ZWJ sequences)
  5. Intentional obfuscation (hiding text, bypassing filters)

Problems They Cause

For Developers:

  • String comparisons fail: "hello" !== "hel​lo"
  • JSON/XML parsing errors
  • Database mismatches
  • Search doesn't find text
  • URL routing issues

For Security:

  • Bypassing input filters
  • Homograph attacks (lookalike URLs)
  • Hidden commands in code

Prevention Tips

  1. Always sanitize user input before storing
  2. Use this tool before pasting into code
  3. Set up linters to detect invisible characters
  4. Be cautious with copy-paste from untrusted sources
  5. Use monospace fonts that can reveal some hidden chars