Remove zero-width spaces from text

Paste your text and every zero-width space lights up. Untick anything you want to keep, then copy the clean version.

Checked in your browser. Nothing is uploaded. Turn off your Wi-Fi and it still works.

Paste your text

Under the light
Inspection report—
    Cleaned text

    Ticked items are cleaned. This changes how the text is stored, not who wrote it.

    How it works

    Short answer

    A zero-width space (U+200B) is an invisible character that takes up no room on screen. To remove it, paste your text into the box above. The checker highlights every one, and the cleaned text below has them all removed and ready to copy.

    Text: characters that take up no space

    ON SCREEN results IN THE FILE r e s u l t s U+200B · 3 bytes · 0 px wide

    A zero-width space sits between letters but draws nothing. It can break search, word counts and code, and can be used to mark copied text. Tag characters go further and spell out invisible messages.

    What counts as a zero-width character

    There are a handful of characters that take up no space at all. The checker finds all of them and labels each one so you know what it was:

    Character Code What it's for
    Zero-width space (ZWSP) U+200B Marks an optional line break
    Zero-width non-joiner (ZWNJ) U+200C Stops two letters joining
    Zero-width joiner (ZWJ) U+200D Joins characters, as in combined emoji
    Word joiner (WJ) U+2060 Stops a line break
    Byte order mark (BOM) U+FEFF A file-format marker that shouldn't be inside text
    Soft hyphen (SHY) U+00AD A hyphen that only shows at a line break

    Joiners inside emoji (like a family emoji) and inside scripts that need them, such as Persian or Hindi, are left alone.

    Where they come from

    Most zero-width spaces are accidents. Web pages use them to let long words wrap, PDF exports scatter them between letters, and some chat and AI interfaces insert them into formatted output. When you copy the text, they come along.

    Occasionally they're deliberate. Some services insert patterns of invisible characters to trace who copied a piece of text. Cleaning removes those too.

    Removing them by hand

    • Word: Find and Replace, search for ^u8203, replace with nothing.
    • VS Code: turn on Render Control Characters, or search with the regex ​.
    • Excel or Google Sheets: =SUBSTITUTE(A1, UNICHAR(8203), "").

    Each of these handles one character type at a time. Pasting here catches all of them at once.

    Questions

    What is a zero-width space?

    It is the Unicode character U+200B. It marks a spot where a line may break, but it has no width, so you can't see it. It often arrives with text copied from websites, PDFs, chat apps and AI tools.

    Why is a zero-width space a problem?

    Software treats it as a real character. A search for “invoice” won't match “invo​ice”, a password with one inside won't work, word counts go wrong and code can fail with confusing errors.

    How do I find zero-width spaces in Word or Google Docs?

    Neither shows them clearly. In Word you can search for ^u8203 with Find and Replace. The quicker way is to paste the text here, clean it, and paste it back.

    Will removing them change how my text looks?

    No. They are invisible, so the clean text looks exactly the same. It just behaves properly in search, forms and code.