Skip to main content

Hidden Characters

Zero Width Space Remover (U+200B)

CleanPastedText editorial · Updated

Text workbench

Try it on your text

Cleaning mode

Removes hidden characters and standardizes AI-style punctuation.

Try a real example

Each sample contains a problem you cannot see.

Original

Pasted text

0 chars · 0 words

Cleaned

Ready to copy

0 changes

Text stays in this browser

Same words · No AI rewriting · No content logging

What is a zero width space (U+200B)?

The zero width space (ZWSP) is a non-printing character used in computerized typesetting to indicate word boundaries to text-processing systems. Because it has no width, it is completely invisible to the human eye — but it is a "real" character to a computer, counted in string lengths, compared in searches, and parsed by compilers.

While ZWSP has legitimate uses in languages that don't use visible spaces (like Thai or Japanese), it is frequently found in "corrupted" text copied from the web, PDFs, or AI tools — see which hidden characters ChatGPT emits for the AI side of the story.

The problem with ZWSP in Notion and Google Docs

Imagine the text "helloworld" with a hidden U+200B sitting between "hello" and "world". A human sees one ordinary word. The computer sees eleven characters, not ten. Then:

  • Searching for "helloworld" fails, because the stored text never contains that exact string.
  • Spellcheck flags the word or behaves erratically, confused by the invisible join.
  • Text may wrap to a new line in the middle of what looks like a single word.
  • In code, a ZWSP causes failures that are nearly impossible to debug by eye: Node reports "SyntaxError: Invalid or unexpected token", while CPython is more helpful and names the character — "SyntaxError: invalid non-printable character U+200B".

How our ZWSP remover works

Because you can't see a zero-width space, you can't delete it manually. Our tool scans the underlying Unicode code points of your text, matches U+200B, and removes every occurrence. It also catches the related zero width non-joiner (U+200C), zero width joiner (U+200D), and word joiner (U+2060), which cause the same class of problems. For the complete inventory of characters detected, see the invisible Unicode characters list, or use the broader invisible character remover to clean everything at once.

Pro tip: If you're a developer and your code is failing for no visible reason, paste it here and check the "Invisible characters removed" stat. It's often the culprit. To identify what is there before changing anything, the hidden character checker names every code point it finds without touching the text.

Common questions

Frequently asked questions

What is a zero-width space (U+200B)?

It is a Unicode character that marks a word boundary without taking up any visible width. Text-processing systems use it to know where they may break a line in scripts that don't use visible spaces. Because it renders as nothing, it is completely invisible to readers — but every program treats it as a real character, which is why it breaks search, comparisons, and code.

How do I remove zero-width spaces from text?

Paste the text into a zero-width space remover like CleanPastedText. It scans every code point, finds U+200B along with the zero-width non-joiner (U+200C), zero-width joiner (U+200D), and word joiner (U+2060), deletes them, and reports how many were removed. Manual deletion is impractical because you cannot see the characters or position your cursor on them reliably.

How can I tell if my text contains zero-width spaces?

Paste it into the cleaner on this page and check the 'What changed' report — it counts every invisible character found. Other signs: searching for a word you can clearly see returns no matches, a word wraps in the middle for no reason, or a code editor like VS Code flags an 'invisible character' warning in a pasted snippet.

Why is a zero-width space breaking my code?

A U+200B pasted into source code is a real character to the compiler or interpreter, so it triggers errors like 'SyntaxError: Invalid or unexpected token' even though the line looks perfect. It usually arrives by copying code from websites, chat apps, or AI chatbots. Cleaning the snippet before pasting removes the character and the error.

Does ChatGPT insert zero-width spaces?

No known chatbot deliberately inserts zero-width spaces, and Originality.ai's testing found that the LLMs it tested did not inject invisible characters at all. The one documented model artifact was a space, not a zero-width character: in April 2025 OpenAI's o3 and o4-mini briefly emitted narrow no-break spaces (U+202F), which OpenAI called a quirk of large-scale reinforcement learning rather than a watermark, and which stopped within days. Zero-width characters in AI text almost always come from the chat interface's HTML or from Word, Docs, and PDF copy pipelines — and a remover strips them wherever they came from.

Continue reading

Related guides & tools

Remove Invisible Characters from Text

Instantly remove invisible characters, zero-width spaces, and hidden Unicode from any text — including ChatGPT output. Free, private, runs in your browser.

ChatGPT Hidden Characters: What They Are and How to See Them

Which hidden and special characters ChatGPT really outputs — U+202F, non-breaking spaces, smart quotes — why they appear, and 4 ways to make them visible.

Invisible Unicode Characters: The Complete List

The complete table of invisible Unicode characters: zero-width spaces, U+202F, BiDi controls, tag characters, variation selectors — and why each one matters.

AI watermark checker: inspect hidden characters

Inspect text for supported hidden Unicode characters with a code-point report. Learn what a character checker can verify and why it cannot detect AI authorship.

Remove BiDi & Directional Control Characters

Strip hidden U+200E, U+200F and other directional control characters that flip your text or cause cursor glitches. Sanitize text for code and documents.

Zero Width Non-Joiner (U+200C)

What the zero-width non-joiner (U+200C) does, why Persian and Indic text need it, and how to strip it from other text without breaking those words.

Invisible Characters in URL Slugs Break Links and Split Duplicates

A zero-width space or NBSP pasted into a URL slug creates a link that looks correct but 404s or splits into a duplicate URL. How it happens and how to fix it.

Hidden Text & SEO Cloaking: How Google Detects It

Hidden text and keyword stuffing violate Google's spam policies. Real cloaking techniques, the 2006 BMW.de case, and how to check your own pages.