Skip to main content
Text & Writing Tools

Hidden Character Detector

Find invisible characters in text - zero-width spaces, non-breaking spaces, byte order marks, bidi controls and more - and remove them.

Paste text to highlight every invisible or unusual character and copy a clean version.

Invisible characters are removed; non-breaking and other special spaces become normal spaces.

Some invisible characters are needed - zero-width joiners build emoji and some scripts - so review what you remove.

What Are Hidden Characters?

Some Unicode characters take up no space or look exactly like a normal space: zero-width spaces, non-breaking spaces, byte order marks, soft hyphens, direction marks and control characters. They slip into text copied from websites, PDFs, chat apps and word processors, and cause problems that are hard to see - a password that will not match, a duplicate that is not removed, code that fails to run, or text that breaks in the wrong place.

When to Check Text

  • A string looks right but a search, comparison or login fails.
  • Code or a configuration file throws an "unexpected character" error.
  • Text pasted into a form is rejected or counted as longer than it looks.
  • You want to know whether copied text carries invisible markers.

How to Use It

  1. Paste the text.
  2. Hidden characters are highlighted in place, with a short label such as ZWSP or NBSP, and listed in a table with their code point, count and first position.
  3. Click Remove Them or copy the clean text.

Example

The text Price: ₹499 only. Call us today! looks normal, but the checker finds 5 hidden characters: a no-break space after "Price:", two zero-width spaces (one after "499" and one inside "Callus"), a byte order mark (U+FEFF) and a soft hyphen (U+00AD) before the exclamation mark. The clean version turns the no-break space into a normal space and removes the rest.

What Each One Does

Zero-width spaces (U+200B) allow a line break without showing a space. No-break spaces (U+00A0) look like spaces but keep words together. A byte order mark (U+FEFF) is meant only at the start of a file. Direction marks and overrides (U+200E, U+202E and others) change the order in which text is displayed and can make a file name look different from what it is. Tag characters (U+E0000 to U+E007F) are invisible and can carry hidden text.

Limitations

Some invisible characters are needed: zero-width joiners build many emoji and are used in Indian scripts, so removing them can change how text looks. Review the list before you remove everything. The tool does not detect look-alike letters from other alphabets, such as a Cyrillic "а" in place of a Latin "a". To inspect each character's code point, use the Unicode Code Point Converter.

Frequently Asked Questions

A zero-width space (U+200B) is an invisible character that allows a line break without showing a gap. It often comes from copied web text and can make identical-looking words fail to match.

Some text can carry invisible characters such as zero-width spaces or tag characters, whatever produced it. This tool shows any that are present, but most AI text contains none, and their absence does not show who wrote it.

Usually, but not always. Zero-width joiners are needed in many emoji and in Indian scripts, so removing them can change how some text looks. Check the list first.

A byte order mark, a no-break space or a zero-width space copied into code is not valid syntax in most languages. Paste the code here to find exactly where it is.
Share this tool: