Unicode Cleaner

Strip invisible characters, fix strange spaces, and normalise messy text back to something clean.

Text to clean

What to clean

Cleaned text

What this tool does

The Unicode Cleaner takes text that has picked up invisible passengers β€” from a web page, a PDF, a word processor β€” and hands back something predictable. Every transformation is optional and nothing happens unless you ask for it.

What each option does

  • Remove invisible characters. Strips zero-width spaces, joiners, soft hyphens, bidirectional controls, and byte-order marks.
  • Normalise spaces. Converts non-breaking spaces and exotic width spaces into the ordinary space everything expects.
  • NFC normalisation. Rewrites characters into their standard composed form, so identical-looking text actually compares as equal.
  • Normalise line endings. Converts Windows and classic Mac line endings to plain newlines.
  • Collapse extra whitespace. Trims each line and squeezes repeated spaces and blank lines.

Why pasted text misbehaves

A non-breaking space looks exactly like a space and behaves nothing like one: it refuses to wrap and fails every exact-match search you throw at it. A soft hyphen is invisible until the word happens to wrap, then a hyphen appears from nowhere. A byte-order mark at the start of a file breaks parsers that were looking for the first real character. None of these are visible, which is exactly what makes them expensive to debug.

Cleaning destroys hidden messages

Zero-width steganography relies on precisely the characters this tool removes. Running text through the cleaner strips any hidden payload it carries β€” including watermarks placed to trace the document back to whoever shared it. That is either the point or a side effect worth knowing about, depending on why you're here.

To see what is present before removing it, run the text through theUnicode Inspector first.

One thing to watch

Multi-part emoji are held together by zero-width joiners. Removing invisible characters splits πŸ‘¨β€πŸ‘©β€πŸ‘§ into three separate people. The tool warns you when your text contains joined emoji, but review the result before shipping it.

FAQ

What does the Unicode Cleaner remove?

By default it removes zero-width and bidirectional control characters, converts unusual spaces such as the non-breaking space into ordinary spaces, and applies Unicode NFC normalisation. Each option can be toggled independently, and nothing is changed unless you enable it.

Why is my pasted text behaving strangely?

Text copied from web pages, PDFs, or word processors often carries invisible passengers: non-breaking spaces that refuse to wrap, soft hyphens that break search, or a byte-order mark at the start. They look fine but break exact matching, search, and code. Cleaning the text removes them.

Will this remove hidden messages from text?

Yes. Zero-width steganography relies on exactly the characters this tool strips, so cleaning text destroys any hidden payload it carries, including watermarks meant to trace the document back to a source.

Does cleaning damage emoji?

Multi-part emoji such as πŸ‘¨β€πŸ‘©β€πŸ‘§ are held together by zero-width joiners, so removing invisible characters will split them into separate emoji. If your text contains emoji families or skin-tone variants, review the result before using it.

What is NFC normalisation?

Unicode can represent the same visible character in more than one way β€” Γ© can be a single codepoint or an e followed by a combining accent. NFC rewrites text into the standard composed form, so identical-looking strings actually compare as equal.