Skip to content

Invisible Character Remover

Reveal and remove hidden zero-width spaces, NBSP, BOM and other invisible characters.

Character typeFoundRemove
Zero-width spaces and joiners (U+200B, U+200C, U+200D, U+2060)0
Byte order mark (U+FEFF)0
Non-breaking spaces (U+00A0, U+202F) → normal space0
Other Unicode spaces (en, em, thin, ideographic) → normal space0
Soft hyphens (U+00AD)0
Direction marks and bidi controls (LRM, RLM, U+202A–202E)0
Control characters0
Hidden Unicode tag characters0
Spaces at the end of lines0
Tabs → spaces0
Double spaces → single space0

Zero-width joiners inside emoji (👨‍👩‍👧) and in scripts such as Khmer, Hindi or Arabic can be part of correct spelling. Untick the first row if the cleaned text looks wrong.

0 invisible or special characters found
Preview (special characters are marked)

Text copied from websites, PDFs, chat apps and word processors often carries characters you cannot see: zero-width spaces (U+200B), non-breaking spaces (U+00A0), byte order marks (U+FEFF), soft hyphens and left-to-right marks. They break search, make words fail to match, add mystery spaces to code and can even be used to fingerprint copied text.

Paste your text and this tool counts every type of hidden character, shows where each one is in a marked preview, and gives you a cleaned copy. Choose what to remove: zero-width characters, special spaces, control characters, trailing spaces, tabs or double spaces. Everything runs in your browser.

How to use the Invisible Character Remover tool

  1. Paste the text into the top box.
  2. Check the table to see which hidden characters were found and how many.
  3. Look at the preview: each invisible character is shown as its Unicode code, such as U+200B.
  4. Tick or untick the types you want to remove or replace.
  5. Copy the cleaned text from the bottom box.

Why use ToolOrca Invisible Character Remover

  • Detects zero-width spaces, joiners and BOM
  • Replaces non-breaking and other Unicode spaces
  • Removes soft hyphens and bidi control marks
  • Finds hidden Unicode tag characters
  • Trims trailing spaces and converts tabs
  • Marked preview with Unicode codes

Common invisible characters and where they come from

Zero-width space (U+200B) is used by websites to allow line breaks in long words and often comes along when you copy text. Non-breaking space (U+00A0) comes from   in HTML and from word processors; it looks like a space but does not match a normal space in search or code. Byte order mark (U+FEFF) is added at the start of files by some Windows editors and can break CSV headers, JSON and PHP output.

Soft hyphens (U+00AD) mark where a word may be hyphenated and are invisible unless the line breaks there. Direction marks such as U+200E and U+202E control right-to-left text and can make text display in a confusing order.

When not to remove zero-width joiners

The zero-width joiner (U+200D) and non-joiner (U+200C) are part of correct writing in some languages and in emoji. Emoji sequences such as 👨‍👩‍👧 use joiners, and scripts like Persian, Hindi and Khmer can use them to control how letters connect. If the cleaned text looks wrong, untick the first row and clean again.

Frequently asked questions

How do I find zero-width spaces in my text?

Paste the text above. The table shows how many zero-width characters there are, and the preview marks each one as U+200B or similar at its exact position.

Why does my search not find a word that is clearly there?

The word probably contains a hidden character, such as a zero-width space or soft hyphen, or uses a non-breaking space instead of a normal one. Clean the text here and search again.

What is the BOM and why is it a problem?

The byte order mark (U+FEFF) is an invisible marker at the start of some UTF-8 files. It can show up as  in output, break the first column name of a CSV file, or cause "headers already sent" errors in PHP.

Will this remove normal spaces and line breaks?

No. Normal spaces and line breaks are kept. Only the types you tick are removed or replaced, and double spaces and tabs are left alone unless you tick those options.

Is my text sent anywhere?

No. The text is processed in your browser and never leaves your device.