A zero width space remover finds the invisible characters hiding inside your text and deletes them, without touching a single word you can see. Paste your text into the tool above and it cleans it instantly, then highlights every hidden character it found and shows exactly where it was.
Whether you call it a zero width space remover or an invisible character remover, the job is the same: a search that should match but doesn’t, a spreadsheet lookup that fails, or code that throws an error on text that looks perfectly normal are classic signs of something invisible in the text. This guide explains what those characters are, how the tool treats each one, and how to clean text without damaging Urdu, Persian or emoji.
Quick answer: To remove a zero width space, paste your text into the tool, read the status message, and copy the clean result. By default it removes invisible junk such as the zero width space, word joiner, soft hyphen and byte order mark, and it keeps the joiners and direction marks that Urdu, Persian, Hindi and emoji depend on.
Related Tools
Table of Contents
What Is a Zero Width Space?
A zero width space is a Unicode character, U+200B, that takes up no visible room on screen. Its purpose is to mark a place where a line is allowed to break, which helps with long strings and with languages that don’t separate words with spaces. The Unicode Consortium lists it as ZERO WIDTH SPACE in its official General Punctuation chart, alongside the zero width non-joiner (ZWNJ) and the zero width joiner (ZWJ).
It has relatives. Unicode contains a whole family of characters that display nothing, and copied text can pick up several of them. This table shows the ones the tool recognises and what it does with each:
| Character | Code | What it does | Tool default |
|---|---|---|---|
| Zero width space | U+200B | Allows a line break, shows nothing | Removed |
| Word joiner | U+2060 | Prevents a line break, shows nothing | Removed |
| Zero width no-break space (BOM) | U+FEFF | Often sits at the start of a file as a byte order mark | Removed |
| Soft hyphen | U+00AD | Shows a hyphen only if the word wraps there | Removed |
| Unicode tag characters | U+E0000 to U+E007F | Can carry invisible text, and also appear inside some flag emoji | Removed, except inside flag emoji |
| Zero width non-joiner | U+200C | Stops neighbouring letters from joining | Kept |
| Zero width joiner | U+200D | Joins letters or emoji together | Kept |
| Direction marks | U+200E, U+200F, U+061C | Keep mixed left-to-right and right-to-left text in order | Kept |
A few rarer characters, such as the Mongolian vowel separator and the invisible math operators, are cleaned by default as well. Direction embeddings and the combining grapheme joiner stay unless you switch on the joiner option explained below.
Why Does Text Contain Hidden Characters?
Text rarely stays in one place. It moves between web pages, word processors, chat apps, spreadsheets and code editors, and some of them insert invisible characters for good reasons: to control where a line wraps, to join or separate letters correctly, or to mark the start of a file. The characters themselves aren’t faulty. The trouble starts when they land somewhere that doesn’t expect them.
One detail surprises many people: pasting as plain text usually doesn’t solve it. Plain-text paste removes formatting such as fonts and bold, but hidden characters are real text, so they tend to travel along. That is the gap a dedicated cleaner fills.
What Problems Do Hidden Characters Cause?
Because you can’t see them, their effects look like mysterious bugs:
| Where it happens | What you notice |
|---|---|
| Search and Find | A word looks identical but isn’t found, because it contains an extra invisible character |
| Spreadsheets | Two cells that look the same are different values, so lookups and comparisons fail |
| Code and config files | A stray character inside a command or name can trigger an error on a line that looks fine |
| Forms and logins | Usernames, coupon codes or passwords are rejected because of a character nobody typed |
| Counts and wrapping | Character counts come out slightly off, and lines may break in unexpected places |
How to Use the Zero Width Space Remover
The zero width space remover needs no setup and works the same on a phone, tablet or computer.
- Paste your text. Click the first box and paste, or press the Paste button. You can also type directly.
- Read the status line. It tells you how many hidden characters were cleaned and which types they were. If nothing was found, it says so.
- Check the highlighted view. Every hidden character appears as a small label such as ZWSP or BOM. Yellow labels were removed, blue labels were kept on purpose.
- Copy or download. Press Copy to put the clean text on your clipboard, or Download to save a .txt file.
To see it in action first, use the three example buttons: Website text, Product code and Emoji text. Each loads sample text containing hidden characters.
Safe Clean or Remove Everything?
Many hidden characters are junk. Some are essential. That difference is why this tool doesn’t simply strip everything.
The zero width non-joiner is the best example. In Persian, it sits inside words such as میخواهم, keeping two parts of the word visually apart. Remove it and the letters join together, which changes how the word looks. Urdu and Hindi use these characters in some words as well. Emoji depend on them too: a family emoji is really several emoji glued together by zero width joiners, so removing the joiners leaves separate figures.
The tool therefore starts in a safe mode and gives you two simple options:
| Your situation | Setting to use | Why |
|---|---|---|
| Cleaning copied web text, product codes or general writing | Leave both options off | Removes the invisible junk and protects joiners and direction marks |
| Plain English text that must contain no joiners at all | Switch on Also remove joiners and direction marks | Strips the joiners, non-joiners and direction marks too |
| Text where wide or non-breaking spaces cause trouble | Switch on Replace special spaces with a normal space | Turns those spaces into regular ones |
| Urdu, Persian, Hindi or emoji text | Leave the joiner option off | These characters are part of correct spelling and emoji |
When something is kept on purpose, the status line names it, so nothing disappears silently.
What the Tool Does and Doesn’t Do
Knowing the limits helps you trust the result:
- It works on text you paste or type. It doesn’t open files or documents.
- Visible words, normal spaces, tabs and line breaks stay exactly as they are.
- It doesn’t remove rich formatting such as bold or fonts, because the boxes hold plain text.
- It covers the common invisible characters listed above. Unicode is large, so it isn’t a scanner for every invisible symbol that could exist.
- It isn’t a security product, so don’t rely on it for security checks.
- With very large text, the output box shows a preview of the first 100,000 characters. Copy and Download still use the full clean text.
Is It Private?
The cleaning runs in your browser with JavaScript. The tool doesn’t send your text to a server, doesn’t ask for an account, and doesn’t save what you paste. Once the page has loaded, it keeps working even if your connection drops. The rest of this website behaves like any other site and is covered by its privacy policy.
Other Ways to Remove a Zero Width Space
If you only need to fix one character inside your own workflow, a few quick options exist. Each handles U+200B only, so add more codes if you need them.
In JavaScript:
text.replace(/\u200B/g, "")In Python:
text.replace("\u200b", "")In Excel or Google Sheets (UNICHAR needs Excel 2013 or later):
=SUBSTITUTE(A1,UNICHAR(8203),"")To remove invisible characters from text that contains several different kinds, or to see what is hiding in it, the tool above is quicker.
Frequently Asked Questions
What is a zero width space?
A zero width space is an invisible Unicode character (U+200B) that takes up no width but marks a place where a line may break. It is meant for line-break control, and it can end up inside copied text where you can’t see it.
How do I remove a zero width space from text?
Paste your text into the zero width space remover above. It removes U+200B automatically, along with other invisible junk, and you copy the clean result. You can also use find-and-replace on the character, a short code snippet, or a spreadsheet formula.
How can I tell if my text has hidden characters?
You can’t see them by eye, which is why the highlighted view exists. Paste your text and every hidden character appears as a small label such as ZWSP or BOM, so you can see exactly where it sits. Failed searches and slightly wrong character counts are also clues.
Is it safe to remove the zero width non-joiner?
Not always. The zero width non-joiner is part of correct spelling in Persian and in some Urdu and Hindi text, and removing it can change how words look. That is why the tool keeps it by default. Remove it only when you are sure you don’t need it.
Why does my copied text contain invisible characters?
Websites, word processors, chat apps and editors sometimes add them to control line breaks or letter joining, and they travel with the text when you copy it. Pasting as plain text removes formatting but usually leaves these characters, since they are real text.
Can a zero width space break code or spreadsheets?
Yes, it can. An invisible character inside a variable name, command, lookup value or password makes the text different from what it looks like. That can cause errors, failed matches or rejected input. Cleaning the text first removes that source of confusion.
Does the tool remove normal spaces or line breaks?
No. Normal spaces, tabs and line breaks stay exactly as they are. Special spaces, such as the non-breaking space, are replaced with a normal space only if you switch on that option.
Is the zero width space remover free and private?
Yes. It is free to use and needs no sign-up. The cleaning happens in your browser, and the tool doesn’t send your text anywhere or store it.
Clean Text in a Few Seconds
Hidden characters cause outsized trouble for something nobody can see. The zero width space remover above finds them, shows you where they were, and gives you clean text to copy, while protecting the characters that languages and emoji genuinely need. Paste, check the status, copy. That is the whole job.
Disclaimer:
This tool is provided as is for everyday text cleaning. Please review the result before using it for anything important, and don’t rely on it for security or legal decisions.