The tool
What the em dash replacer does
The em dash replacer finds every long dash in the text you paste and swaps it for whatever you put in the replacement box. It matches two characters, not one: U+2014, the em dash, and U+2013, the en dash. Both are replaced in the same pass, with the same string.
The replacement is a plain text field with a hyphen already in it. It is not a menu. The other tools on this term ship a fixed list of four to six choices, usually hyphen, comma, semicolon, parentheses and delete. Here you type the string, so a double hyphen, a comma followed by a space or a whole word all work the same way.
Everything runs in your browser. Nothing is uploaded, no account, no run limit, no length cap. The result lands in a second box you copy from, and your pasted text stays as it was, so you can change the replacement and run again.
The real question
What to replace an em dash with
The right replacement depends on the job the dash was doing, and there are only a handful of jobs. A pair of dashes around an aside does the work of a pair of commas. A single dash before a closing clause does the work of a colon. A dash joining two complete statements is usually a full stop that never got typed.
If the text is going anywhere near a machine rather than a reader, use a plain hyphen. It is the one dash-shaped character every parser, spreadsheet and URL handler already agrees about.
- A pair of dashes around an aside
- Type a comma. The interruption survives, the emphasis goes, which is normally the point.
- A dash before a summing-up clause
- Type a colon. Same job, more formal register, usually what a house style wants.
- A dash joining two full sentences
- Type a full stop and a space, then fix the capital letter yourself. Nothing here re-capitalises.
- A number range or a compound
- That is the en dash doing its ordinary job. A hyphen keeps it readable in code and data.
How it works
How to replace em dashes in three steps
One field to set, one button to press.
- Step 1
- Paste your text into the left box. The bar above counts characters and words. Press Try a sample to load a short sentence with two dashes in it.
- Step 2
- Type what the dashes should become in the field marked Replace dashes with. It starts on a hyphen, and clearing it falls back to a hyphen rather than deleting.
- Step 3
- Press Replace dashes. The result appears on the right with a Copy button above it. Clear wipes both boxes when you want to start again.
Two characters
The en dash is replaced too
U+2013, the en dash, is the shorter one that shows up in number ranges and score lines. It is in the same match as the em dash here, which several tools on this term do not manage: one popular replacer page never mentions the en dash anywhere, and another handles it only as a separate checkbox.
There is a trade in that. One match means one replacement, so both characters get the same string. You would not want a comma in the middle of a page range, so if your text uses en dashes for ranges and em dashes in prose, run the find and replace tool for one of them first. Otherwise accept a hyphen for both, which is fine in most drafts.
Hyphens are not touched, and neither is a double hyphen typed as two hyphens. The match is a two-character class and nothing else is in it.
Why it matters
What a long dash breaks in code and data
A hyphen is one byte of ASCII. U+2014 is three bytes in UTF-8. Every system in a pipeline has to agree on the encoding for those three bytes to survive, and when one link guesses wrong the dash comes out as garbage while the rest of the sentence looks fine. That is why a dash is so often the only broken thing in an otherwise readable import.
The rule that follows: anywhere text is read by a program rather than a person, use hyphens only.
- CSV and spreadsheet exports
- A long dash in a cell survives a round trip only if every tool in the chain agrees on the encoding. Often one does not.
- URLs and slugs
- It has to be percent-encoded, turning a clean slug into a long escape sequence.
- Config values and filenames
- Some systems rewrite characters outside ASCII, so the value you saved is not the value you look for later.
The catch
Spacing is not repaired for you
The swap is the whole operation. Whatever sat either side of the dash is still there afterwards, so if your source spaced its dashes, replacing one with a comma gives you a space, a comma, then another space.
The fix is to plan the string you type. Put the spacing inside the replacement: a comma with no space if the source already has one, a hyphen with a space either side if it does not. If a run leaves doubled spaces behind, the whitespace minifier clears them in a second pass.
The footer reports characters removed, and a one-for-one swap removes none, so it says Processing complete instead of a number. That is a finished run: check the result box, not the counter.
The honest answer
Does replacing em dashes make text undetectable?
No. Swapping one punctuation mark for another changes characters, not who wrote the text, and no detector result is promised here. AI detectors report signals and estimates, never proof of authorship.
What is true is narrower. Models emit the long dash far more often than most people type it, so a paragraph carrying several is a pattern readers notice on sight. Removing it removes one visible tell. Sentence rhythm, paragraph shape and vocabulary are untouched by a substitution, and those are what actually make a draft read like a model wrote it.
In practice
Who uses an em dash replacer, and when
Writers, mostly. Someone drafts with a model, sees five long dashes in three paragraphs, and wants them gone before anyone else reads it. A hyphen or a comma is a thirty-second fix at that point.
Then the technical half: developers and analysts pasting copy into a config file, a CSV or a CMS field that will not survive a three-byte character. A house style that bans the mark is the same job with a different reason.