Blank space
The default and the most readable. Punctuation becomes a word break: “the plan — risky — was shelved” reads as “the plan risky was shelved”.
Pages 44–48, a 3–0 win — reported late.
Pages 44 48, a 3 0 win reported late.
Free · Private · No sign-up
When you do not care which dash is in the text, this is the tool: em dashes, en dashes and hyphens all become the same character, in one pass.
Every other page on this site is deliberately narrow. This one exists for the opposite situation: text of unknown origin, where you cannot say in advance whether a report, a spreadsheet export or a pasted web page is carrying em dashes, en dashes, hyphens, or all three at once. Rather than checking each family in turn, you pick one replacement and apply it to everything.
That is the right approach whenever the destination is a machine rather than a reader. CMS fields, CSV columns, JSON values, search indexes, SMS gateways, ticket titles and older APIs all have their own idea of which punctuation is acceptable, and the simplest way to satisfy them all is to remove the question: no dash characters remain, only the substitute you chose. Text that has been through this pass is plain ASCII punctuation, which every system in use can store, sort and compare.
What you give up is the distinction the different dashes were carrying. An em dash marks an aside, an en dash marks a range, and a hyphen joins a compound word — after this pass, all three are a space or a comma. For data that is exactly the point; for prose that will be read as prose, the narrower pages preserve more meaning. The tool matches the full character set: the em dash and its horizontal-bar and multi-em look-alikes, the en and figure dashes, and every hyphen variant including the invisible soft hyphen.
The difference between them shows up in the punctuation, so here is each one applied to the same sentence.
The default and the most readable. Punctuation becomes a word break: “the plan — risky — was shelved” reads as “the plan risky was shelved”.
Pages 44–48, a 3–0 win — reported late.
Pages 44 48, a 3 0 win reported late.
For sentence punctuation. An em dash doing the work of a parenthetical comma becomes one, which reads more naturally than a gap in prose.
The report — written in haste — missed it.
The report , written in haste , missed it.
The ASCII-safe middle ground: every dash becomes the one dash that every system accepts, so ranges and compounds stay visually joined.
Pages 44–48, a 3–0 win — reported late.
Pages 44-48, a 3-0 win - reported late.
Delete every dash outright. Use it for identifiers and slugs where even a hyphen is unwelcome — and expect “well-known” to become “wellknown”.
well-known, pre–World War II
wellknown, preWorld War II
| Family | Characters matched | Caught by a plain find-and-replace? |
|---|---|---|
| Em Dash | — U+2014 · ― U+2015 · ⸺ U+2E3A · ⸻ U+2E3B | Only the first one — and only if you can type it |
| En Dash | – U+2013 · ‒ U+2012 | The standard character, not the figure dash |
| Hyphen | - U+002D · ‐ U+2010 · ‑ U+2011 · ¬ U+00AD | The ASCII hyphen only — the other three look identical |
That last column is the reason a tool like this exists. A manual replace, or a script that searches for “—”, reliably misses the horizontal bar, the figure dash, the Unicode hyphen and the soft hyphen — which between them cause most of the “there is no dash there” mystery reports.
If you would rather keep some dashes and change others, one of these is the narrower answer.
Swap only the long dash for a comma, colon or semicolon.
Turn ranges into hyphens or the word “to”.
Spaces, underscores or nothing where compound words were joined.
The deletion version: every dash family, nothing left in its place.
Unify a document on one dash style instead of replacing dashes.
Every dash character with its code point, on one page.
No sign-up, no upload, no word limit. Paste, pick, and copy the result.
Remove dashes now