Invisible Character Remover

Paste your text, choose the character types to change, and compare the result. All changes start off; your original stays available.

Original text & cleanup options

24 / 2,000 UTF-16 units
Choose changes (all off by default)

Cleaned text

20 code points · 14 grapheme clusters · 24 UTF-16 units

No changes. Choose a matching character type to remove or replace.
Compare before and after code points

Before: U+0048 U+0065 U+006C U+006C U+006F U+200B U+0020 U+0077 U+006F U+0072 U+006C U+0064 U+00A0 U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466

After: U+0048 U+0065 U+006C U+006C U+006F U+200B U+0020 U+0077 U+006F U+0072 U+006C U+0064 U+00A0 U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466

What is an Invisible Character Remover?

An Invisible Character Remover lets you change selected blank-looking and formatting characters in pasted text. It can help with unexpected spacing or copied text containing zero-width characters, while keeping the original available for comparison.

Not all invisible characters are mistakes. Joiners can connect emoji and letters, no-break spaces affect wrapping, and direction controls affect reading order. This tool therefore starts with every operation off and shows the changes you choose instead of silently applying a blanket cleanup.

How to remove invisible characters

  1. Paste the original

    Enter up to 2,000 UTF-16 units in the input. With no options selected, the output matches the original. Inspect unfamiliar characters first if you are unsure what they do.

  2. Enable a specific operation

    Select the relevant removal or space-replacement option. Joiners, direction controls and variation selectors have separate switches because changing them can affect visible text.

  3. Compare and copy

    Read the change summary and expand the before-and-after code points when the difference is invisible. Check the output before using the Copy result card, then test it in your destination.

Choose exactly what to clean

Options cover zero-width spaces, BOM and soft hyphens; special spaces; blank-looking Braille and Hangul characters; joiners; direction controls; and variation selectors. Normal spaces, tabs, line endings and accents are preserved unless a listed option explicitly applies.

Invisible does not mean unnecessary

Removing a joiner can split a family emoji or change the way letters connect. Removing direction controls can change reading order. Replacing a no-break space changes line wrapping. These options are separate and off by default so you can make an informed choice.

Check the difference before copying

The change summary counts affected code points by the selected operation. Expand the before-and-after code points to inspect invisible differences. This tool is not a complete sanitizer or a security audit and does not claim that the output is safe for every parser or platform.

Frequently asked questions

Why is my output unchanged when I paste text?

All cleanup options start disabled. Select the operation you want. If the text contains no characters targeted by that operation, there is nothing to change.

Can removal break a family emoji or change connected letters?

Yes, if you explicitly enable joiner removal. A joined emoji can split into separate symbols, and some scripts use joiners to control shaping. Leave that option off unless you intend the change.

Does this remove ordinary spaces and line breaks?

The listed operations preserve normal spaces, tabs and line endings. Special-space replacement changes supported special spaces into ordinary spaces; it is not a trim-all-whitespace function.

Can I recover the original after changing the options?

The original input remains available on the current page. Turn off the selected options to return to the unchanged result. The tool does not save a permanent edit history after you leave the page.

Does cleaned text become safe for every website or parser?

No. This tool changes only the supported character types selected by you. Destination-specific validation and security checks are separate concerns.