Zero Width Character Remover

This zero width character remover finds the invisible Unicode characters hiding in copied text and strips them out. Paste anything that behaves strangely, such as a password that will not match, a CSV header that breaks an import or a caption that fails a search, and you see exactly which hidden characters were there before you copy the clean version.

Hidden character scan
Hidden found
–
Zero-width spaces
–
Length before
–
Length after
–
Characters found
–
Marked preview
–

Runs entirely in your browser — nothing is uploaded. Lengths count Unicode code points.

How the Zero Width Character Remover Works

Unicode includes several characters that take up no visible space. They have real jobs, such as hinting where a long word may break, but pasted into plain text they cause invisible trouble. The zero width character remover reads your text one code point at a time, checks each against a fixed list and rebuilds the text without the matches.

Formula: for each code point c in the text, if c is in the core set {U+200B, U+200C, U+200D, U+2060, U+FEFF, U+180E}, or in the extra set {U+00AD, U+200E, U+200F, U+202A to U+202E, U+2061 to U+2064, U+2066 to U+2069} when that box is ticked, drop it and add 1 to its counter; otherwise keep it. Length after = length before − hidden found. Ordinary spaces, tabs and line breaks are never touched.

  • Text to scan — any amount of text; the scan reruns on every keystroke.
  • Remove zero width joiners — ticked when the page opens. Untick it to keep U+200D, which glues multi-part emoji together.
  • Also remove soft hyphens, direction marks and invisible math operators — the extra set above, also ticked when the page opens.
  • Characters found and Marked preview — each hidden code point with its name and count, and your text with removed characters shown as [U+XXXX] tags.
  • Clean text — the output to copy or download as a .txt file.

Example Scenarios

Input (hidden characters in brackets)Hidden foundLength before → afterClean output
Meet[200B] me at[200B] 5pm[200C] sharp[FEFF].4 (2 zero-width spaces)25 → 21Meet me at 5pm sharp.
pass[200B]word19 → 8password
[FEFF]id,name (CSV header)18 → 7id,name
co[00AD]op[200E] (extras ticked)26 → 4coop
co[00AD]op[200E] (extras unticked)06 → 6unchanged

How to Remove Invisible Characters Safely

Most hidden characters arrive from web pages, chat apps, PDFs and word processors. A byte order mark often sits at the start of files saved by older Windows tools. Treat the zero width character remover as a hidden character finder first and a cleaner second: look at the list before you copy.

  • Keep the joiner when text contains emoji. Removing U+200D splits a family emoji into separate people.
  • Leave the direction marks alone in Arabic or Hebrew text mixed with numbers; they keep the reading order correct.
  • A failing login after pasting a password is a classic sign of a stray U+200B. Retype it rather than trusting the paste.
  • Spreadsheet lookups that fail on identical-looking values often hide a BOM or zero-width space in one cell.
  • This tool does not remove non printing characters such as tabs, line breaks or the ASCII control range; it targets invisible Unicode format characters.

Some writers and AI tools are said to add hidden characters as watermarks, but there is no single standard for that, so a clean scan proves only that none of the listed code points are present. For background on the most common culprit, see Wikipedia’s article on the zero-width space.

Zero Width Character Remover FAQ

Can I clean text copied from Word or a PDF?Yes. Copy the text out of Word or the PDF viewer, paste it here and copy the clean result back. Text pulled from PDFs often carries soft hyphens and zero-width spaces from the original layout, and the formatting marks view in Word still leaves most of them invisible.
Does this work as a zero width space detector?Yes. The Characters found panel names every hidden code point with its count, and the Marked preview prints a tag such as [U+200B] where each one sat. If the panel reports nothing, none of the listed code points are in your text.
Is the tool free, and is my text sent anywhere?The zero width character remover is free and needs no account. The scan runs in JavaScript inside your own browser tab, so the text never leaves your device and nothing is stored. That makes it safe for passwords, private messages and unpublished drafts.
Why would someone put invisible characters in text?Most have legitimate layout reasons: line-break hints in long URLs, joining rules for scripts such as Persian, or the byte order mark that labels a file’s encoding. Others are added on purpose to fingerprint copied text or to slip banned words past filters.
Will removing them break my emoji or foreign text?It can. Combined emoji depend on the zero width joiner, and Persian, Hindi and other scripts use the non-joiner to shape letters. Untick the joiner option for emoji, and review the found list before cleaning those scripts. Plain English text is safe with every option ticked.
Can I scan a whole document at once?Yes. Paste as much text as you like; thousands of lines process almost instantly because the zero width character remover makes a single pass with no network calls. Download saves the result as a UTF-8 .txt file without adding a fresh byte order mark.

Related Tools

Hidden characters are a common reason a pasted password fails, so check the result with the password strength calculator for testing new passwords. Writers cleaning long drafts can estimate the finished length with the reading time calculator for articles and posts, and developers dealing with file encodings may find the data storage converter for bytes, KB and MB useful. Bookmark the zero width character remover for the next time text acts strangely.

Related Calculators