How to remove invisible & zero-width characters
Some text carries characters you can’t see — zero-width spaces, joiners, byte-order marks, bidirectional controls, tag characters and look-alike glyphs. They’re used as watermarks and trackers, and they survive copy-paste. Here’s how to find and remove them, free, with Unmark.
Which characters are “invisible”?
These are legitimate Unicode code points that render with no width or mimic normal ones. The most common culprits:
- Zero-width family — zero-width space (U+200B), non-joiner (U+200C), joiner (U+200D), word joiner (U+2060), byte-order mark (U+FEFF).
- Formatting controls — soft hyphen (U+00AD), invisible math operators, and deprecated format characters.
- Bidirectional controls — direction-flipping overrides (U+202A–U+202E) and isolates.
- Tag characters — the U+E00xx block, an invisible copy of ASCII.
- Exotic spaces & homoglyphs — no-break, thin and ideographic spaces, plus Cyrillic/fullwidth look-alikes.
Why they’re in your text
Invisible characters are inserted deliberately — as a watermark or a way to fingerprint who leaked a document — and accidentally, by copy-pasting from web pages, PDFs and word processors. Either way they can carry a hidden signal, so it’s worth stripping them before you publish or share text.
How to remove them
- Paste your text into Unmark. It scans instantly, in your browser — nothing is uploaded.
- Reveal the hidden characters to see exactly what’s there, colour-coded by type.
- Strip them and copy the clean text. Load-bearing marks (like emoji sequences) are preserved, so nothing visible changes.
This removal is deterministic and complete — unlike statistical watermarks, invisible characters can be removed with certainty.
Free, 100% in your browser.