This page reveals hidden zero-width characters that can be used to watermark or fingerprint text. The sample below carries four invisible characters between two visible ones — the x-ray shows each. Everything runs in your browser — nothing is uploaded.
Zero-width characters — ZWSP, ZWNJ, ZWJ, word joiners, variation selectors — render as nothing, survive copy-paste, and can be arranged in patterns. Insert a unique pattern into each copy of a document and you can tell which copy was leaked: a classic leak-tracing technique, also used to fingerprint text handed to different recipients, sneak data past filters, or make visually identical strings compare as different.
Honest framing: most text you paste is not watermarked. Mainstream AI chat interfaces don't currently embed zero-width watermarks in output (research on AI watermarking mostly works at the word-choice level, which no character tool can see). Zero-width characters in copied text usually got there as line-break hints from web pages, keyboard slips, or emoji plumbing. But "usually" isn't "always" — and since the check takes five seconds and runs entirely on your machine, verifying beats guessing.
Paste it above. The x-ray marks every invisible character with a labelled tag (ZWSP, ZWNJ, WJ, VS16…) exactly where it sits, and the counter above the output tells you how many were found. Zero flags means no zero-width payload — nothing is hidden in the characters. If there are flags, the cleaned output has them removed; compare the two to see what was hiding. One caveat: ZWJ/ZWNJ are legitimate inside emoji and scripts like Arabic, Persian and Hindi — flags inside those aren't a watermark, just Unicode doing its job.
Yes — this matters if you're checking a sensitive document. The analysis runs entirely in your browser; the text is never uploaded, logged or stored anywhere. You can even load the page, go offline, and then paste.
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 · Код не запускается