Skip to content

Invisible Character Remover

Finds and strips zero-width spaces, BOMs, soft hyphens and bidi controls hidden in pasted text.

Finds the characters that are in your text and invisible — zero-width spaces, bidirectional controls, Hangul fillers, byte-order marks — names each one, says where it is, and removes the ones you choose. The joiners inside emoji are kept by default, because removing those turns one family into four people.

🔒 Runs entirely in your browserunicodecleaninvisiblesecurity

Text

Paste from wherever the problem came from — a CMS, a PDF, Excel, a chat app. The scan runs in this tab.

Found

invisible characters

8

distinct kinds

5

holding emoji together

3

kept, not removed

look-alike letters

0

  • U+200DZERO WIDTH JOINER×33 kept inside emoji

    Joins letters — and joins emoji into families and professions.

  • U+3164HANGUL FILLER×2

    A width-bearing but empty Hangul letter. How blank game nicknames are made.

  • U+200BZERO WIDTH SPACE×1

    A line-break opportunity with no width. The classic paste passenger.

  • U+00A0NO-BREAK SPACE×1

    Keeps two words on one line. Common from Word and from web pages.

  • U+00ADSOFT HYPHEN×1

    Marks where a word may be hyphenated. Invisible until it breaks.

What to remove

Cleaned

4 removed, 1 replaced with a plain space, 3 deliberately kept.

Where they are

  • line 1, col 7ZERO WIDTH SPACECopied​ from a
  • line 1, col 24NO-BREAK SPACEweb page with pas
  • line 2, col 17HANGUL FILLERckname: ㅤㅤ⏎Soft­h
  • line 2, col 18HANGUL FILLERkname: ㅤㅤ⏎Soft­hy
  • line 3, col 5SOFT HYPHEN ㅤㅤ⏎Soft­hyphen i
  • line 4, col 27ZERO WIDTH JOINERrvive: 👨‍👩‍👧‍👦
  • line 4, col 29ZERO WIDTH JOINERive: 👨‍👩‍👧‍👦
  • line 4, col 31ZERO WIDTH JOINERe: 👨‍👩‍👧‍👦

How to use it

  1. Paste from wherever the problem came from

    A CMS, a PDF, Excel, a chat app. The count at the top says how many invisible characters are in there and how many distinct kinds.

  2. Read what each one is for

    Every kind is listed with its code point, its name and what it is actually for. That is how you tell a stray zero-width space from a variation selector that is doing its job.

  3. Choose what to remove

    The defaults remove the ones that are almost always accidental and keep the ones that are almost always deliberate. Variation selectors are off by default: removing them changes ❤️ to ❤.

  4. Check the look-alike letters too

    A separate panel lists Cyrillic and Greek letters whose glyphs are identical to Latin ones, and words that mix alphabets. That is the other half of "these two strings look the same and are not".

Common questions

How did invisible characters get into my text?

Copy-paste, almost always. Web pages use zero-width spaces as line-break hints, PDFs use soft hyphens, and some editors insert a byte-order mark. They survive the clipboard and then break search and comparison silently.

What is a Hangul filler?

U+3164 and its neighbours — Hangul characters that render as nothing. They are how a blank nickname is made in services that require a non-empty name, which is also why they turn up in exported user data.

Why does it warn about bidirectional characters?

In Arabic or Hebrew they are ordinary. In source code or a filename they can make what a person reads differ from what the machine executes — the Trojan Source class of attack, and the trick behind a filename that appears to end in .txt.

Does a clean result mean the text is safe?

For invisible characters, yes. For look-alikes, no — the confusables table here is the common slice, not the whole 40,000-line file, and a lookalike written entirely in one script mixes nothing to detect.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.