Text & data

Remove hidden characters

Paste text and the invisible parts show up, labelled: zero-width spaces, direction overrides, non-breaking spaces, control codes. Pick what to strip, then copy.

Try it here, no account needed

Save and continue on the desktop

Download or copy your result here first. Open the free desktop to save to Files or use more features.

  • Keep the clean text in Notes — saved on this device, counted as you write
  • Save to Files when you continue on the desktop
  • Every tool in one place, no new tabs
Open the free desktop

After you download, continue on the desktop for Files or the full app.

What Hidden Character Remover can do

Why a string that looks right still breaks

A password from a manager that the login form rejects. A CSV column that splits in two on import. A search that finds nothing though the word is on screen. Usually it is one character with no width, carried in from a chat app, a PDF, a word processor or an AI answer. The count at the top tells you before you chase the wrong bug.

Emoji and Persian are not dirt

Deleting every invisible character corrupts text. A family emoji is several people joined by U+200D (strip it and one glyph becomes four), and Persian spells می‌روم with a zero-width non-joiner. So a joiner is judged by its neighbours: between two emoji or two Arabic or Indic letters it stays, stranded between Latin letters it is flagged, and variation selectors are never removed. Direction marks are flagged wherever they sit, so for Hebrew or Arabic text switch “Direction overrides” off before you copy.

Named, counted, and yours to overrule

Every finding is grouped and labelled with its short name from the Unicode charts (ZWSP, NBSP, RLO), so it is a term you can search rather than a red dot you have to trust. Each group has its own switch, because “strip the zero-width junk but leave my non-breaking spaces alone” is a normal answer for a price list, and the copy button honours exactly what the switches say.

Related apps

Questions

Is my text uploaded anywhere?

No. The scan and the cleanup run in this tab, which matters when the text you are fixing is a password or an API key.

Which characters does it remove?

Zero-width characters, invisible tag characters, direction marks and overrides, legacy control codes, non-breaking spaces, unusual typographic spaces and soft hyphens. Every group starts switched on; turn one off to keep those characters.

Will it break my emoji?

No. The joiner inside an emoji sequence is recognised as part of the emoji and left in place, including after a skin tone modifier or a variation selector. Variation selectors themselves are never removed by any option.

Can it detect hidden text in AI output?

It shows the characters that can carry it. Invisible Unicode tag characters (the block from U+E0000) render as nothing and can hide instructions or a marker inside copied text, so they get a group of their own. It cannot tell you who put them there or what they say.

What happens to a non-breaking space?

It becomes an ordinary space rather than disappearing, and so do em, en and thin spaces. Deleting them outright would join two words into one, a worse bug than the one you came to fix.