Invisible character cleaner
Remove hidden Unicode characters from text
Clean zero-width spaces, word joiners, directional controls, BOM characters, Unicode tags, variation selectors, and unusual whitespace from pasted text.
What happens
Clean characters that ordinary copy and paste can hide
Invisible Unicode can appear after copying text between websites, PDF files, document editors, messaging apps, and generated responses. Some characters control layout or joining without displaying a visible glyph.
This cleaner removes non-text control and formatting characters, converts unusual space characters to normal spaces, normalizes line separators, and applies NFC normalization to the result.
Controls removed
Removes Unicode control, format, surrogate, private-use, unassigned, tag, and variation-selector characters.
Spaces normalized
Converts non-breaking, narrow, ideographic, and other unusual spaces to ordinary spaces.
Visible text kept
Preserves normal letters, accents, numbers, punctuation, symbols, and visible emoji characters.
Character reference
Common invisible characters handled by the cleaner
| Character | Code point | Cleanup result |
|---|---|---|
| Zero-width space | U+200B | Removed |
| Zero-width joiner | U+200D | Removed |
| Word joiner | U+2060 | Removed |
| Byte order mark | U+FEFF | Removed |
| Right-to-left override | U+202E | Removed |
| No-break space | U+00A0 | Changed to a normal space |
Important limitation
Some invisible Unicode is linguistically or visually meaningful. Removing zero-width joiners can separate combined emoji, and removing zero-width non-joiners can alter writing in languages that use them. Always review the cleaned result when working with those scripts or emoji sequences.
Related tools