This page finds and removes U+200B ZERO WIDTH SPACE. The sample below already contains two — see them flagged in the x-ray, copy the cleaned output. Everything runs in your browser — nothing is uploaded.
A character that takes up no visual space at all. It exists to mark places where long words may break across lines. Because it renders as nothing, you can't see it, select it reliably, or notice it in a code review — which is exactly why it causes so much confusion.
Copying code or text from web pages (some sites insert ZWSP as line-break hints inside long strings), chat apps, PDFs, word processors, and AI chat interfaces. Some services even use zero-width characters deliberately to watermark text.
Compilers and interpreters reject it with errors that point at a line that looks perfectly fine: Go says invalid character U+200B, Python raises SyntaxError: invalid non-printable character U+200B, JavaScript throws SyntaxError: Invalid or unexpected token. Outside code it breaks string comparison ("why doesn't abc equal abc?"), database lookups, search-and-replace, and pasted shell commands.
VS Code renders ZWSP with a highlighted box by default (setting editor.unicodeHighlight). To search for it, enable regex mode and search \u200b. On the command line: grep -rP '\x{200B}' . and remove with sed -i 's/\xe2\x80\x8b//g' file. Or just paste the offending text above — every ZWSP is flagged, and the cleaned output has them removed.
Guides for the common cleanup jobs — what the source puts into your text, exactly what it breaks, and the tool preloaded with a demonstration:
AI-generated text · Text copied from Word / Google Docs · Text copied from a PDF · Pasted code that won’t run · CSV & spreadsheet data · Invisible watermarks · Many files at once (batch)
Dedicated pages for the usual suspects — what each one is, where it sneaks in from, the exact errors it causes, and how to find it in your editor:
Zero-width space (U+200B) · Non-breaking space (U+00A0) · Byte order mark (BOM) (U+FEFF) · Soft hyphen (U+00AD) · Smart quotes · Em dash (U+2014) · Narrow no-break space (U+202F) · Ideographic space (U+3000) · Zero-width joiner (U+200D) · Zero-width non-joiner (U+200C) · Word joiner (U+2060) · Right-to-left override (U+202E) · Left-to-right mark (U+200E) · Line separator (U+2028) · Variation selector-16 (U+FE0F) · Object replacement character (U+FFFC) · Hangul filler (U+3164) · Braille pattern blank (U+2800) · Ligatures · Minus sign (U+2212)
Страницы на русском — те же инструменты с переведёнными правилами и примерами под задачу:
Невидимые символы в тексте · Убрать невидимые символы · Почистить текст нейросети · Неразрывные пробелы в числах · Текст из Word · Код не запускается