Zero-Width Character Remover

Delete zero-width spaces, joiners, byte order marks and other invisible Unicode characters from any text. Paste, clean, copy — in one click.

What does a zero-width character remover do?

It deletes codepoints that occupy no visual space but still travel with your text: the zero-width space (U+200B), zero-width non-joiner (U+200C), zero-width joiner (U+200D), word joiner (U+2060) and byte order mark (U+FEFF), among others.

  • Each removal is listed by codepoint and count.
  • Visible wording and layout are unchanged.
  • Useful for cleaning pasted text before publishing, or debugging odd string comparisons.

The zero-width characters this tool removes

CodepointNameCommon source
U+200BZero-width spaceAI text, web copy-paste
U+200CZero-width non-joinerWeb rendering, formatting
U+200DZero-width joinerAI text (preserved inside emoji)
U+2060Word joinerWord processors, web HTML
U+FEFFZero-width no-break space / BOMFile encoding, copy-paste
U+00ADSoft hyphenWord processors, justified text
U+180EMongolian vowel separatorLegacy encoding

What else gets cleaned

The tool also removes bidirectional controls (U+202A–U+202E, U+2066–U+2069), variation selectors (U+FE00–U+FE0F), Unicode tag characters (U+E0001–U+E007F), and normalizes space homoglyphs (non-breaking space, thin space, hair space) back to a plain U+0020 space.

Why zero-width characters matter

  • Exact-match search fails. A term containing a zero-width space will not match an exact search for the same term typed normally.
  • String comparison breaks. Two visually identical identifiers compare as different, causing bugs in databases and spreadsheets.
  • Code syntax errors. A zero-width character inside pasted code produces an error at a location that looks correct.
  • Form validation rejects input. APIs that reject control characters will fail on invisible codepoints.
Emoji-safe by default: zero-width joiners inside emoji sequences are preserved so emoji are not broken.

Frequently asked questions

What is a zero-width character?

A zero-width character is a Unicode codepoint that takes up no visual space. The most common are zero-width space (U+200B), zero-width non-joiner (U+200C), zero-width joiner (U+200D), and byte order mark (U+FEFF). They are invisible but count toward string length and affect comparisons.

Where do zero-width characters come from?

They appear in text copied from AI chat interfaces (ChatGPT, Claude, Gemini), web pages with styled spans, rich-text editors, and documents with complex formatting. The web rendering layer introduces them during copy-paste.

Why should I remove zero-width characters?

They break exact-match search, cause string comparisons to fail, corrupt diffs and version control, fail form validation on control characters, and propagate through every copy-paste. Two visually identical strings can compare as unequal.

Will removing zero-width characters change my text?

No visible change. These characters have no glyph, so removing them changes nothing you see. The text reads identically; only the byte-level representation is cleaned.

Are there cases where zero-width characters should be kept?

Yes. Zero-width joiners inside emoji sequences (like family or skin-tone emoji) are load-breaking if removed. The tool preserves these by default and only strips zero-width characters that are being used as watermark carriers or formatting artifacts.

Remove zero-width characters now

Paste your draft, hit Clean, and copy back plain text with zero invisible characters. Free, no sign-up, nothing stored on our servers.

Open the free tool