Smart Typographer

Give plain typed text the polish of properly typeset text: curly quotes, real dashes, real ellipses.

Smart Typographer

Turn straight quotes into proper curly quotes, replace -- with a real em dash, write © instead of (c) and tidy up runaway spacing.
Paste an email, a blog draft or a manuscript chapter, pick a quote style, and the beautified text appears in the "Output" field.


Load an example

Or drop a text file here
0 words | 0 chars
0 words | 0 chars
Quote Style
Punctuation Fixes
Turns -- into an em dash () and true ranges such as 12-16 into en dashes (). Multi-part numbers like 2026-04-11 keep their plain hyphens.
Turns three or more dots – even ones spread out like . . . – into one real ellipsis character ().  
Symbols & Cleanup
Replaces typed lookalikes with the real Unicode symbols: (c)©, (r)®, (tm), (p).
Converts ->, <-, =>, <->, and tight multiplication like 3x43×4.
Collapses runs of two or more spaces or tabs into one space and trims the ends of every line. Off by default, so intentional spacing and indentation are never touched unless you ask for it.
Ready to beautify your text.
As you type

Live mode is on by default, so the beautified result follows the moment you type, paste or change a setting - no button pressing while you write.

100% private

Everything happens in your own browser with plain JavaScript. Nothing you type, paste or upload is ever sent to a server.

Four quote styles

English curly quotes, French guillemets, German low-high quotes - or keep your straight quotes exactly as they are. Every other fix is a switch you control.


Overview

The Smart Typographer is a text beautifier: it takes the kind of text people type every day - straight quotes, double hyphens, three dots, (c) spelled out - and replaces it with the characters that professional typesetting uses. An apostrophe becomes a real apostrophe, -- becomes an em dash (), ... becomes one ellipsis glyph (), and the little bracket spellings turn into ©, ® and . Nothing is rewritten about your words themselves; only the punctuation and symbols get upgraded, so the text reads the same but looks published instead of rough.

Why is that useful? Because plain quotation marks and hyphens are typing shortcuts, not typography. Word processors used to do these fixes silently; text boxes, social media, CMS forms and code editors do not - which is why drafts pasted from those places look flat and slightly amateur. Beautifying them takes seconds: choose a quote style (English, French or German conventions), switch on the fixes you want, and the tool rewires every quote, dash, dot and symbol in context - it can tell the quotation mark that opens a quotation from the one that closes it, and it knows the difference between an apostrophe, a decade such as ’90s and a genuine opening single quote. Where useful, it can also collapse accidental double spaces without touching anything else.

It is written with plain vanilla JavaScript - no libraries and no frameworks - and runs entirely inside your browser. Every conversion is a small Unicode character map applied on your own device: your text is processed locally, never uploaded anywhere, and the page keeps working while you are offline once it has loaded. The only thing that leaves the tool is whatever you choose to copy or download.


What This Tool Does

It rewrites the punctuation layer of your text while the words stay exactly as you wrote them. With every switch on, one pass through the text makes these fixes:

Smart quotes: straight "..." and '...' become the opening and closing curly marks of your chosen style - English “...” and ‘...’, French « ... », or German „...“.

Real apostrophes: quotes inside a word such as can't and at word ends such as the dogs' become the right single quotation mark , in every curly style.

Smart dashes: a double hyphen becomes an em dash (), and a hyphen between two numbers becomes an en dash () when it really marks a range - dates written as 2026-04-11 and other multi-part numbers keep their hyphens.

Ellipses: ... and . . . become the single real ellipsis character , so no more three-dot runarounds.

Symbols: the typed spellings (c), (r), (tm) and (p) become ©, ®, and .

Arrows and extras: typed arrows become real ones - -> , <- , => , <-> - and a tight 3x4 gains proper multiplication signs (3×4).

Clean spaces (optional): runs of spaces and tabs collapse to one, and line ends are trimmed - your line breaks never change.

Everything runs left to right in one pass: symbols and arrows first, then dashes, then ellipses, then quotes, then optional space cleanup. That order matters - the en dash and ellipsis added by an earlier step are never mistaken for hyphens or dots that a later step should rewrite, and already-correct characters are left exactly as they are, so running the tool twice changes nothing.


Examples

Every example below loads its own text and settings - click "Try it" and the beautified result appears straight away, because Live mode is on by default. Each output shown here was produced by this tool from the input beside it.

1. English smart quotes and apostrophes

Quotation marks that open the speech differ from those that close it, and the apostrophes inside They're and can't become real right single quotation marks - not straight type-ins that break the look of a print-out.

Input
"My garden roses beat every shop bunch," Mara wrote. "They're the ones
I can't walk past."
Ask at the 'sourdough' corner, too.
Output – English style
“My garden roses beat every shop bunch,” Mara wrote. “They’re the ones
I can’t walk past.”
Ask at the ‘sourdough’ corner, too.

2. French guillemets

The same sentences in the French style, where quotations sit inside angle brackets called guillemets. French typesetting puts a non-breaking space just inside each bracket (rendered here as the narrow gap after «), so the bracket and the first word always stay on the same line.

Input
Lucie said "the market closes at noon" and left early.
"Perfect timing," Anton replied, "for once."
Output – French style
Lucie said « the market closes at noon » and left early.
« Perfect timing, » Anton replied, « for once. »

3. Symbols, dashes and ellipses together

A market flyer with every common typed shortcut in it: bracket spellings, a double hyphen, a date range, years spilling into an ellipsis, a tight multiplication and a typed arrow. One pass fixes them all - and the 30-35 and 12-16 ranges correctly gain en dashes.

Input
Season melons (c) Hillcrest Farm -- sold 12-16 June...
Weather app (r) 2026, 30-35 degrees; gluten-free
loaves 2x350 g -> fresh daily.
Output – all fixes on
Season melons © Hillcrest Farm — sold 12–16 June…
Weather app ® 2026, 30–35 degrees; gluten-free
loaves 2×350 g → fresh daily.

4. A triple-spaced email cleaned up

Text pasted from old mail programs often arrives with two or three spaces between words and at the start of lines. With Clean spaces on, those runs collapse into a single space and line ends are trimmed - and as the it's shows, quote fixes keep working in the same pass.

Input
Subject:  hall   booking

Barbara     wants the hall   on the 12th
  please confirm...   it's urgent
the   chairs   arrive     first.
Output – clean spaces on
Subject: hall booking

Barbara wants the hall on the 12th
please confirm…it’s urgent
the chairs arrive first.

The Four Quote Styles

Quote conventions differ by language, so one sample sentence is shown in every style. Double straight quotes become the style's quotation marks in both cases (there are two of them in the sample), and any straight single quote becomes an apostrophe or a single quote pair as the position calls for:

Same sentence, four styles
Input           He said "wait" by the '90s, and she said "no."

English style   He said “wait” by the ’90s, and she said “no.”
French style    He said « wait » by the ’90s, and she said « no. »
German style    He said „wait“ by the ’90s, and she said „no.“
Keep straight   He said "wait" by the '90s, and she said "no."

Note how the decade '90s gets a trailing apostrophe mark () even in the curly styles - standing in for the missing digits is exactly what that mark is for - while quoted speech gets true opening and closing marks. Picking Keep straight leaves both quotes and apostrophes untouched, which matters when the text is destined for a system that must stay plain ASCII, such as code comments or configuration files.


The Options in Detail

Smart quotes: the tool decides for every quote character whether it opens or closes something, using the characters around it and a running open/close state that resets on each line. That is what makes the difference between the two sides of a quotation:

Input (straight quotes)
"Nope," he said. "Try again."
Output – English style
“Nope,” he said. “Try again.”

Apostrophes are handled separately from quoted speech, because they are never pairs: don't, isn't and a plural possessive such as the dogs' all get the right single quotation mark, which is the same glyph you see in printed books. A quote right before digits after a space, as in the '90s, is treated the same way. Quotes that open a quotation with a word, like the 'new' stall, still open and close as true pairs.

Smart dashes: two or three hyphens in a row become an em dash, the long dash that marks a break in thought, and the spacing you typed around it is kept exactly:

Input, then output (spaced and unspaced both work)
fast -- really fast   →   fast — really fast
fast--really fast     →   fast—really fast

A single hyphen between two numbers reads as a range (from one to the other) in typeset text, which is what the en dash is for. The tool protects numbers made of several hyphen-joined parts, so technical shapes stay intact:

Input, then output
chapters 10-20            →   chapters 10–20
release 2026-04-11        →   release 2026-04-11  (date hyphens kept)
version 2.1.0, 10-20-30   →   version 2.1.0, 10-20-30  (multi-part numbers kept)

Ellipses: three or more dots - even spaced out decades of trial and error typing like . . . - collapse into the single Unicode ellipsis character, and stray spaces around it are tidied so wait ... what becomes wait…what.

Arrows & extra symbols: useful wherever plain text has to describe flow or dimensions. The typed arrows ->, <-, => and <-> become , , and . The multiplication sign only applies to a tight pattern such as 3x4 and 6X7 - convenient for box sizes and resolutions like 1920x1080 - and stays away from spaced quantities such as 2 x 150 g, which keep their spacing and their letter.

Clean spaces: deliberately switched off by default, because collapsing spaces on purpose-indented text would do more harm than good. Turned on, it squeezes every run of two or more spaces or tabs down to one and trims spaces from the ends of lines - the line breaks themselves are never changed, so paragraphs survive as they were. For deeper cleanup of pasted text, the Whitespace Cleaner and Remove Multiple Spaces tools go further.

Live mode: with this switched on, the result is rebuilt automatically as you type, paste or change any setting. Switch it off for a very large file and the tool waits until you press "Beautify Text" - your text and your settings are kept either way.

Copy & Download: "Copy" puts the beautified text on your clipboard, ready to paste wherever you publish, and "Download" saves it as smart-typographer.txt. The word and character counters under each field follow along, which makes it easy to confirm that nothing was added or removed - the counts move only because punctuation characters replaced each other one-for-one.


Common Use Cases

Before you publish anything: give blog posts, newsletter paragraphs and product descriptions one pass so the quotes, dashes and ellipses read like a typeset page instead of a note app.

Email, letters and job applications: straight quotes are what note apps and webmail keep inserting - a quick beautify makes correspondence look cared for.

Manuscripts and essays: many printing houses and style guides expect curly quotes, real em dashes and proper ellipses in submissions; this gets the whole document there in one click.

Multilingual quotes: French and German conventions need characters your keyboard never produces - guillemets and the German low quotes are one radio button away.

Plain-text handoffs: use Keep straight plus the switch-off ability to guarantee a file stays plain ASCII for code, config files or terminal work.


FAQs

FAQ 1: Will it ruin my apostrophes?
Answer: No, that is the point of the tool. Quotes inside a word, such as can't, and word-final possessives, such as the dogs', become the correct right single quotation mark rather than a straight quote. If you would rather have no change at all, pick Keep straight.

FAQ 2: Can I break it with an odd number of quotes?
Answer: The tool assumes pairs: the first straight quote on a line opens, the second closes, and so on. If your text contains a single unpaired quotation mark somewhere, everything after it flips - check the output and add the missing quote, then run it again. Nothing is lost either way; the words remain exactly as they were.

FAQ 3: Are dates and file names safe from the dash fixes?
Answer: Mostly, yes. A hyphen between two simple numbers becomes an en dash, because that is what it means in typeset text: pages 10-20pages 10–20. But numbers built of several hyphen-joined parts, such as 2026-04-11 or 10-20-30, are recognised and left alone. Truly odd cases - a seven-digit phone number, for instance - are impossible to tell from a range, so if that matters, switch off Smart dashes for that passage.

FAQ 4: What happens if I run the tool twice, or on text that already has curly quotes?
Answer: Nothing: already-correct characters are not matched by any fix, and straight ones are converted the same way the first time. Copying the output back into the Input and pressing "Beautify Text" again returns the very same text.

FAQ 5: Which characters are added, exactly?
Answer: The Unicode set that proper typography uses: left and right double quotation marks (“ ”), left and right single quotation marks (‘ ’), guillemets (« »), the German low quotes („ “), en and em dashes (– —), the ellipsis (), the symbols © ® ™ ℗, arrows (← → ↔ ⇒ ⇐) and the multiplication sign ×. All are standard characters of the universal Unicode standard, so they display correctly in documents, browsers and modern e-mail clients.

FAQ 6: Do you save the text that I paste in?
Answer: No. The whole system runs locally in your browser - your text never leaves your device, nothing is stored on a server, and closing the page discards everything you entered.


Tools Worth Trying

TextToolz

The Ultimate Text Tools

TextToolz works seamlessly to let you convert and design your text. It is fast, reliable and secure. Trusted by thousands of users.