Invisible Character Detector
Paste text and find zero-width and invisible Unicode characters hiding inside it, then get a cleaned copy.
Highlighted view
How it works
Every character in your text is checked against a curated list covering zero-width joiners and non-joiners, zero-width spaces, the byte-order mark, bidirectional override/embedding controls, soft hyphens, and Unicode "Tag" characters (a range originally meant for deprecated language tagging that's since become a known vector for hiding invisible instructions in text, since they render as nothing at all). Each hit is shown with its codepoint, position, and a short label, and highlighted inline as a small visible marker so you can see exactly where it sits in your text.
"Copy cleaned text" strips every flagged character and copies the result, leaving normal whitespace and visible characters untouched. Everything happens locally; nothing you paste is uploaded.
Common questions
Why would text have invisible characters?
Common innocent causes: copy-pasting from Word or a web page, which often carries zero-width joiners or non-breaking spaces. Less innocent causes: hidden watermarking of AI-generated text, or characters deliberately inserted to break exact-match filters and dedication checks.
What counts as "invisible" here?
Zero-width characters (joiner, non-joiner, space, BOM), bidirectional control characters, most of the Unicode "Format" and "Control" categories, and a curated list of characters commonly used for prompt-injection or filter-evasion tricks.
Is my text sent anywhere?
No, scanning happens entirely in your browser using JavaScript's Unicode-aware string handling. Nothing is uploaded.