Skip to content

Typography Cleaner

Normalize smart quotes, em dashes, ellipses, and invisible whitespace

Strip curly quotes, em dashes, smart ellipses, non-breaking spaces, and zero-width characters introduced by Word, Google Docs, LLMs, or rich-text editors. Or go the other direction for typography-correct prose. Code blocks are preserved.

9 replacement(s)

Transforms

Fenced code blocks and inline `code` spans are preserved untouched.

How to use the typography cleaner

  1. Paste Markdown or any plain text — pasted from Word, Notion, Google Docs, an LLM, or anywhere typography may have been auto-corrected.
  2. Toggle the transforms you want applied. The defaults strip smart quotes, normalize em dashes to --, ellipses to ..., and remove NBSP and zero-width characters.
  3. The output updates in real time. Copy when ready.

What each transform does

TransformExample
Smart quotes → straight"Hello" and 'world'"Hello" and 'world'
Straight → smart quotes"Hello""Hello"
Em dash → double hyphenlike — thislike -- this
Double hyphen → em dashlike -- thislike — this
Ellipsis → three dotswait…wait...
Three dots → ellipsiswait...wait…
NBSP → regular spaceinvisible NBSP → regular space
Strip zero-width charactersinvisible ZWSP / ZWJ / BOM → removed

Common scenarios

  • A teammate pastes Word output into a Markdown PR. Run the cleaner, commit clean ASCII.
  • An LLM returns text with curly quotes. Pipe it through the cleaner before storing.
  • A search-and-replace mysteriously misses items. Likely a zero-width character; strip it.
  • CI flags a string mismatch. Likely NBSP vs space; normalize and re-run.

What it doesn't do

  • Spell check. Use a dedicated tool for grammar / spelling.
  • Reformat Markdown structure. For that, use the Markdown Formatter.
  • Remove emoji. Emoji are intentional — emoji-stripping is out of scope.

Companion tools

Privacy & data

The cleaner is a small client-side script. Your text never leaves the browser.

Frequently asked questions

Why do smart quotes cause problems?
Word, Google Docs, and macOS auto-replace straight `"` and `'` with curly equivalents. Those curly characters are different Unicode code points, which means search-and-replace, code compilers, JSON parsers, and shell commands often fail when curly quotes sneak into source. Normalizing to straight ASCII once removes the entire class of bug.
What if I want smart quotes for prose?
Toggle the reverse transform on (Straight → smart quotes). The tool will replace ASCII quotes with typographically correct curly versions. Heuristics decide opening vs closing based on whitespace context — they get the common cases right and may need manual touch-up around contractions.
Does it touch code?
No. Fenced code blocks and inline backtick spans are stashed before transformation and restored afterwards. Smart quotes pasted into a code sample stay exactly as they were.
What's the deal with zero-width characters?
Pasted text from rich-text editors and certain web sources often includes zero-width spaces, joiners, and BOM markers. They're invisible but they break filename comparisons, search-and-replace, and serialization. The 'strip zero-width' transform removes them all.
Will my Markdown be uploaded?
No. The transforms are tiny client-side string replacements. Nothing leaves the browser tab.
Why provide both directions for dashes / ellipsis?
Different publishing pipelines have opposite preferences. ASCII purists (engineering docs, READMEs) want `--` and `...`. Typography-conscious publishers (long-form blogs, books) want `—` and `…`. Pick the direction you need.

Use the API

Automate this workflow in your app with the same engine that powers these browser tools.

New to the platform? Start with the API quickstart, then try a live request in the API playground.

Explore the API platform