piapia123
en

Punctuation Fixer

Text

Everything runs locally in your browser — nothing is uploaded

Input
Drop a file here to load its contents
Output

Tidy the punctuation in mixed CJK/Latin text: context-aware full/half-width conversion, merging repeated punctuation, adding spaces between CJK and Latin, and removing spaces before punctuation and runs of spaces. It edits your text, so three things are hard rules: the dots in decimals and versions (`1.5`, `v2.0.1`) are never treated as punctuation or width-converted; Chinese and Latin quotation marks are never swapped; URLs, emails and inline code are left untouched. These are correctness, not preference — a broken edit usually still reads naturally, which makes it hard to spot. The result also reports how many edits each rule made. Everything runs in your browser; nothing is uploaded and nothing goes over the network.

Features

  • Three width modes: automatic (mixed CJK/Latin), all half, all full
  • Merge runs of punctuation into one, or into a character you choose
  • Add spaces between CJK and Latin automatically
  • Remove spaces before punctuation, merge runs of spaces, trim lines
  • Turn , . ? ! full-width in CJK context
  • Dots in decimals and versions (1.5, v2.0.1) are never treated as punctuation
  • Chinese quotation marks are never swapped with Latin ones
  • Characters inside URLs, emails and inline code are left as-is
  • Reports how many edits each rule made
  • Everything runs locally in your browser; nothing is uploaded

How to use

  1. Paste the text you want to clean
  2. Choose the width mode and how runs of punctuation are handled
  3. Tick the spacing and CJK-punctuation options you want
  4. The result and its edit counts update as you type; click Copy to take it

FAQ

Will the dots in 1.5 and v2.0.1 be changed?
No. Decimals, versions and thousands separators are treated as protected runs, so the `.` and `,` inside them are neither width-converted nor merged as sentence punctuation, nor turned into a full-width period. Otherwise `1.5` would come out with a full-width period, which still reads perfectly well and is therefore hard to notice.
Are Chinese and Latin quotation marks swapped?
No. No rule touches quotation marks at all — Chinese and Latin quote marks each stay as written. Swapping them breaks code and citations, so it does more harm than good.
Are the colon and slash in a URL changed?
No. Each line is first split into protected runs: characters inside URLs, emails and inline code are never touched, so the `:`, `/`, `?` and `=` in `https://a.com/b?c=1` stay exactly as they are.
How does “automatic” decide?
Full-width letters and digits always become half-width. Full-width punctuation is judged run by run: a run stays full-width if either side touches CJK text, otherwise it falls back to half-width. So a full-width comma inside Chinese stays full-width while an exclamation mark inside English becomes `!`.

Related tools