Find hidden characters in pasted text

The code won't compile, the URL won't match, the diff shows nothing — invisible characters are the classic suspect. Scan the text and see exactly where they are.

Tools used in this guide

The job

Zero-width spaces, joiners, soft hyphens, and bidi marks are invisible but real — they break keyword matches, string comparisons, and compiles. The checker scans pasted text and lists each invisible character with its code point and position, so you see exactly what is hiding where.

Scanning a snippet

Paste the suspicious text and scan. Each finding shows the character name (say, zero-width space), its Unicode code point (U+200B), and where in the text it sits — line and offset.

  • Detected: zero-width space/joiner/non-joiner, word joiner, invisible separators, soft hyphen, bidi marks and isolates, variation selectors, tag characters.
  • Variation selectors that can matter for emoji are listed but kept on removal — stripping them changes how some emoji render.
  • Up to 1,000 findings are listed with positions; the scan itself covers the whole paste.

Worked example

A function name copied from a chat app refuses to compile. The scan finds U+200B (zero-width space) right after the name — invisible in the editor, real to the compiler. Remove it and the snippet compiles.

Where it stops

It removes the invisible characters — it can't tell you which ones mattered (a soft hyphen inside a word may be intentional). Removing changes the text byte-for-byte; if you're preserving a document for legal or archival reasons, scan first and remove selectively rather than stripping everything. Up to 500,000 characters.