Markdown & Prose Typography Prettifier

Paste any block of prose — a blog draft, a Markdown file, a README, an essay — and get it back with smart quotes, em dashes from --, en dashes for ranges like 2000-2020, ellipses from ..., French-style NBSPs before ; : ? !, and the other small typographic fixes professional copy-editors apply. Code spans, fenced code blocks, and HTML tags are preserved verbatim so pasting a Markdown file is safe. Pure client-side, no upload, no tracking.

Rules

What does each rule do?
  • Smart double quotes: "…" becomes “…”. The opening vs closing quote is picked from the surrounding context (whitespace or an opening bracket opens; a word character closes).
  • Smart apostrophes: it's, don't, possessive John's, and year abbreviations like '97 all become .
  • Em dash: word--word and -- (space-dash-dash-space) become . CLI flags like --version are preserved because there's no word character on the left.
  • En dash: 2000-2020 (numeric ranges with equal-length digits) becomes 2000–2020. - between words also becomes .
  • Ellipsis: ... becomes . Four or more dots are left alone because they're usually intentional (e.g. loading indicators).
  • NBSP before punctuation: French typography inserts a non-breaking thin space before ;, :, ?, !. URLs (https://) and HTML entities (&) are excluded.
  • Trim trailing whitespace: removes spaces and tabs at the end of every line. Doesn't touch your intentional two-space Markdown hard breaks because those are inside a line, not at the end.
  • Collapse blank lines: 3+ consecutive newlines (two blank lines) collapse to one blank line. This matches the Markdown paragraph-break convention.

Code spans (`like this`), fenced code blocks (```…```), and HTML tags (<a href="…">) are always preserved verbatim — nothing inside them is rewritten.