Zero-Width & Invisible Character Remover
Text copied from web pages, chats or AI output can contain invisible characters such as zero-width spaces. They break searches, string comparisons and diffs without any visible sign. Paste your text here to detect them and strip them out. To check length afterwards, try the Character Counter.
🔒 Runs in your browser · Your data is never sent to a server
Notes
- Zero-width joiners (U+200C, U+200D) are used to build compound emoji and in scripts such as Persian. They are not removed by default.
- Bidi control characters are needed to display right-to-left languages such as Arabic and Hebrew correctly. Do not remove them from such text.
- A BOM (U+FEFF) at the start of a file can be used to detect the encoding. It is safe to remove when you just copy and reuse the text.
- No-break spaces (U+00A0) and ideographic spaces are visible whitespace and are not treated as invisible characters.
Glossary
Zero-width space (U+200B)
A character with no width that cannot be seen on screen. It marks places where a line may break, but when it sneaks in through copy and paste it makes searches and string comparisons fail.
BOM (byte order mark)
The character U+FEFF placed at the start of a file to indicate UTF-16 byte order or UTF-8. Inside text it acts as a zero width no-break space.
Unicode tag characters
Non-displayed characters in U+E0000 to U+E007F. Originally meant for language tags, they are now used in flag emoji such as England. They can also hide text invisibly, which is sometimes abused.
FAQ
Where do zero-width spaces come from?
They often slip in when you copy text from web pages, chats, PDFs or AI output, and they are invisible on screen. They cause wrong character counts and make searches or string comparisons fail.
Why does removing a zero-width joiner split an emoji?
Compound emoji such as family or profession emoji (👨👩👧 and similar) are several emoji glued together by U+200D. Removing it breaks the glue, so the emoji separate. That is why joiners are kept by default.
Are ideographic spaces and no-break spaces removed too?
No. The ideographic space (U+3000) and no-break space (U+00A0) are visible whitespace with width, so they are neither detected nor removed.
Can I undo a removal?
Your original text stays in the input box, so changing the settings updates the result. If you copy and use the cleaned text, keep the original saved separately.
Share this page
