Normalize pasted text and Unicode punctuation

Paste 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.

Paste your text

We only run in your browser. No uploads, no logs.

Red (auto-fixable): 0 Yellow (review manually): 0 Total characters: 0

How it works

  • Detects copied-text issues such as curly punctuation, zero-width joiners, invisible spaces, and decorative bullets.
  • Fixes what can be safely normalized with one click while leaving subjective tweaks for you to review.
  • Keeps your original wording intact—only the problematic characters change.
  • Runs entirely in your browser so prompts and drafts never leave your device.

Mini FAQ

Will this rewrite the text for me?

No. This page only normalizes characters and spacing. You still need editorial review for structure, clarity, tone, and originality.

Will my text ever be uploaded?

Never. Everything happens client-side, and refreshing the page clears the editor.

Can it handle languages beyond English?

Yes. The character catalogue covers multiple scripts and punctuation systems. The current review build is English-only, but the cleaner still detects those characters.

What it does exactly, and why

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.

Normalized to a straight double quote (")

Chat interfaces lean on typographic quotation marks and guillemets to look premium. We flatten them so dialogue and citations feel typed, not templated.

« » ״

Normalized to a straight apostrophe (')

Models love smart apostrophes. We fold them into a simple tick so contractions, possessives, and names feel typed by hand.

՚ ՛ ՟ ׳

Normalized to a simple hyphen (-)

Lightweight dash variants turn into plain hyphens so commands, slugs, and phone numbers stay consistent.

֊ ־

Normalized to three periods (...)

Ellipsis glyphs look elegant but feel canned in plain messages. We expand them into three dots you would actually type.

Normalized to a standard period (.)

Full-width stops and script-specific endings become regular periods so sentences land softly instead of dramatically.

·

Normalized to a standard comma (,)

Comma lookalikes turn into the workhorse comma, keeping lists and CSV exports readable.

، ߸ ՝

Normalized to a standard colon (:)

Full-width and script-specific colons collapse into the familiar ASCII version, so time stamps and ratios read normally.

׃

Normalized to a standard semicolon (;)

We swap ornate semicolons for the classic version so code snippets and lists stay legible.

؛

Normalized to a standard question mark (?)

Curved or inverted question marks flatten into the everyday symbol so sentences don’t scream template.

¿ ؟ ߹ ; ՞

Normalized to a standard exclamation mark (!)

We tone down inverted or stylistic exclamations by replacing them with the straight ASCII version.

¡

Normalized stacked punctuation

Interrobangs and double punctuation combos collapse into the plain pairs people expect (‽→?!, ⁇→??, etc.).

Normalized to a tilde (~)

Wave dashes become the humble tilde so plain-text channels receive a predictable ASCII character.

Normalized to a regular space (U+0020)

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)

Removed entirely (invisible markers)

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.

Still highlighted for review

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.

Guides

These editorial guides explain the underlying copy-and-paste problems in plain language so the site is useful even before you open the cleaner.