Zero-width characters: what they are and why they break copied text
Learn what zero-width spaces and joiners do, where they come from, and how to remove them before they break search, URLs, or forms.
Read the guidePaste copied text into the editor, spot unusual punctuation or invisible characters, and normalize the safe fixes with one click. This is a browser-based cleanup tool for copy/paste reliability, plain-text compatibility, and predictable formatting.
We only run in your browser. No uploads, no logs.
No. This page only normalizes characters and spacing. You still need editorial review for structure, clarity, tone, and originality.
Never. Everything happens client-side, and refreshing the page clears the editor.
Yes. The character catalogue covers multiple scripts and punctuation systems. The current review build is English-only, but the cleaner still detects those characters.
Copied text often looks fine at first glance and still causes trouble in plain-text systems. Curly quotes in email, unusual bullets in markdown, or invisible spacing in CMS fields can all create avoidable friction.
The cleaner swaps those characters for plainer, more portable equivalents while leaving your wording untouched. The goal is not to rewrite the draft, but to make the text behave predictably in editors, CMS blocks, and JSON parsers.
Everything runs in the browser. Paste text, the tool highlights characters that fall outside the safe list, and Fix and Copy replaces only the red ones. Nothing is uploaded or stored.
Spacing gets cleaned too. Zero-width joiners, narrow no-break spaces, and stray ideographic gaps turn into standard spacing so search, indexing, and word counts behave.
Below is every group the tool fixes automatically. Each one shows the exact ASCII character that replaces the highlighted glyphs.
Chat interfaces lean on typographic quotation marks and guillemets to look premium. We flatten them so dialogue and citations feel typed, not templated.
“ ” „ ‟ 〝 〞 ﹁ ﹂ ﹃ ﹄ 「 」 「 」 『 』 « » 《 》 ״
Models love smart apostrophes. We fold them into a simple tick so contractions, possessives, and names feel typed by hand.
‘ ’ ‚ ‛ ‹ › ՚ ՛ ՟ ऽ ׳
Lightweight dash variants turn into plain hyphens so commands, slugs, and phone numbers stay consistent.
‐ ‒ – − ֊ ־ ‧
Ellipsis glyphs look elegant but feel canned in plain messages. We expand them into three dots you would actually type.
… ⋯ ᠁
Full-width stops and script-specific endings become regular periods so sentences land softly instead of dramatically.
。 。 . ។ ៕ ። ᠃ ။ ། ༎ · । ॥ ॰
Comma lookalikes turn into the workhorse comma, keeping lists and CSV exports readable.
، 、 、 , ፣ ၊ ߸ ᠂ ՝
Full-width and script-specific colons collapse into the familiar ASCII version, so time stamps and ratios read normally.
: ៖ ፥ ׃
We swap ornate semicolons for the classic version so code snippets and lists stay legible.
; ؛ ፤
Curved or inverted question marks flatten into the everyday symbol so sentences don’t scream template.
? ¿ ؟ ፧ ߹ ; ՞
We tone down inverted or stylistic exclamations by replacing them with the straight ASCII version.
! ¡
Interrobangs and double punctuation combos collapse into the plain pairs people expect (‽→?!, ⁇→??, etc.).
‽ ⸘ ‼ ⁉ ⁈ ⁇
Wave dashes become the humble tilde so plain-text channels receive a predictable ASCII character.
〜 ~
Non-standard spacing collapses into a regular space so line wraps, counters, and search behave predictably.
U+00A0 (non-breaking space) U+2009 (thin space) U+202F (narrow no-break space) U+3000 (ideographic space) U+3164 (Hangul filler)
Zero-width markers vanish—they add nothing except a sterile, machine-cut feel and broken search results.
U+200B (zero-width space) U+200C (zero-width non-joiner) U+200D (zero-width joiner) U+2060 (word joiner) U+FEFF (byte-order mark)
Some glyphs still look suspicious, yet we leave them highlighted so you can decide whether to keep their emphasis or swap them manually.
These have no safe ASCII twin but still deserve a second look. They stay highlighted in yellow until you decide whether to keep the emphasis or replace it manually.
— ― ⸺ ⸻ ⋮ ⋰ ⋱ ᠅ • ‣ ⁃ ◦ ∙ · ・ ・ ፨ ჻ ฯ ๆ ๚ ๛ ـ ۩ † ‡ § ¶ ‰ ‱ ※ ⁂ ‖ ¦ ‸ ′ ″ ‴ ⁗ ׀
The goal is straightforward: fix the red highlights, review the yellow ones, and keep the draft portable across the systems where you actually need to use it.
A minute of cleanup removes copy/paste friction and keeps your text predictable for editors, parsers, and readers alike. Paste, review, normalize, and then do the final editorial pass.
These editorial guides explain the underlying copy-and-paste problems in plain language so the site is useful even before you open the cleaner.
Learn what zero-width spaces and joiners do, where they come from, and how to remove them before they break search, URLs, or forms.
Read the guideUnderstand when curly quotes, fancy dashes, ellipses, and other smart punctuation should be kept or converted to plain ASCII.
Read the guideA practical guide to non-breaking spaces, narrow no-break spaces, tabs, and other odd whitespace that breaks copied text.
Read the guideA practical guide to why copied text fails in ATS forms, CMS editors, markdown, email, and other systems even when it looks fine on screen.
Read the guideUse this practical pre-publish checklist to catch Unicode punctuation, weird whitespace, invisible characters, and formatting issues before you submit or publish copied text.
Read the guide