Em Dash Remover — Replace Em Dashes and En Dashes Instantly
Em dashes (—) and en dashes (–) are valid typography but break CSV imports, database fields, and legacy systems that only accept ASCII characters. This em dash remover replaces both with a hyphen, a space, or nothing — your choice — in one pass across the entire text. No need to run two separate find-and-replace operations for the two dash types. Paste, convert, copy — done. No signup required.
What Is Em Dash Remover?
An em dash remover scans your text and replaces every em dash (—) and en dash (–) with your chosen substitute — typically a hyphen, a space, or nothing at all. Em dashes are common in American editorial writing but cause problems in contexts that strip special characters: CSV exports, plain-text emails, database fields, and legacy systems that choke on non-ASCII punctuation. Paste your text, choose a replacement, and get a clean version in one click.
En dashes (–) serve a different typographic role — ranges like "pp. 10–20" or "2019–2023" — but are equally troublesome in plain-text environments. This tool handles both in one pass, so you don't need to run two separate find-and-replace operations.
Wait—I forgot—again.→Wait-I forgot-again.Before & After: Em Dash Remover Examples
Real input → output pairs showing exactly what this tool does to your text.
| Input | Em Dash Remover Output |
|---|---|
We launched — finally. | We launched - finally. |
Pages 10–20 | Pages 10-20 |
2019–2023 | 2019-2023 |
Good — great — excellent | Good - great - excellent |
Remove — replace with nothing | Remove replace with nothing |
Key Features
Replaces both em dash (— U+2014) and en dash (– U+2013) simultaneously — no need to run two separate find-and-replace operations. Equivalent to Python's text.replace("—","-").replace("–","-") or JavaScript's text.replace(/[—–]/g, "-").
Replace with a hyphen-minus (-), a space, nothing, or a custom string. The Chicago Manual of Style 17th edition recommends " — " (space-em dash-space) in editorial contexts — this tool converts that format back to plain-text-compatible equivalents for data systems.
Microsoft Word AutoCorrect (AutoFormat As You Type) silently converts "--" to em dashes and "-" to en dashes. When text is pasted from Word into CSVs, databases, or API fields, these Unicode dashes break ASCII-only parsers. This tool undoes those substitutions.
Zero server round-trip, no account required. Paste your Word-sourced or editorial text and get ASCII-compatible output immediately — useful before importing to Excel, a database, or any system that expects ASCII-range characters.
When to Use Em Dash Remover
Use when converting content from Word or Google Docs where em dashes break CSV, code, or plain-text formats.
Em dashes (—), en dashes (–), and horizontal bars (―) are all replaced with a standard hyphen (-).
Who Should Use This Tool?
Remove em dashes from copy-pasted text before importing to CSV, Excel, or database fields that reject special characters.
Clean API responses and user-submitted text containing typographic dashes before processing or storing in databases.
Convert em dashes to hyphens when formatting copy for plain-text emails, CMS systems, or platforms that display em dashes incorrectly.
Key Use Cases
- →Clean text pasted from Word documents before importing to a database or CSV — Word auto-converts hyphens to em dashes.
- →Prepare editorial copy for plain-text email templates where em dashes render as question marks or boxes in some clients.
- →Strip typographic punctuation from scraper output before running NLP or text analysis on the content.
- →Convert em dashes to hyphens in API response text before displaying in apps that use basic ASCII fonts.
- →Fix text exported from InDesign or Adobe apps that embed em dashes in plain-text outputs.
Em Dash Remover vs Other Formats
How this tool compares to related approaches and methods
| Method / Format | Best For |
|---|---|
| THISEm Dash Remover (this tool) | Replacing typographic dashes with ASCII hyphens for data systems and plain text |
| Find and Replace | Replacing specific known characters in an editor (one character at a time) |
| Remove Special Characters | Stripping ALL non-alphanumeric characters including dashes, symbols, and punctuation |
| Python str.replace() chain | Programmatic em dash removal in Python scripts and data pipelines |
Em Dash Remover Rules: How It Works
- →Em dash (—): U+2014 — the long dash used in editorial writing
- →En dash (–): U+2013 — used for number ranges (2019–2023)
- →Both replaced in a single pass
- →Common replacement: hyphen-minus (-) for plain-text compatibility
- ×CSV and TSV files: em dash causes encoding errors in some parsers
- ×Database text fields: non-ASCII may get garbled or rejected
- ×Legacy systems and old email clients: non-ASCII punctuation breaks display
- ×Plain-text emails and SMS: — renders as "â€"" in non-UTF-8 contexts
How to Use Em Dash Remover
- Paste or type your text into the Input Text box.
- The result appears instantly on the right.
- Click Copy to copy the output to your clipboard.
- Click Clear to reset and process new text.
This Converter vs Manual Methods
Why use this tool instead of doing it by hand?
| Method | Limitation |
|---|---|
| Word Ctrl+H (Find & Replace) | Must be done per document; doesn't help for text already pasted elsewhere |
| Python text.replace("—","-").replace("–","-") | Requires Python environment; two replace calls needed for both dash types |
| JavaScript text.replace(/[—–]/g, "-") | Requires opening browser DevTools or a JS environment |
| VS Code Ctrl+H with Unicode hex search | Requires knowing Unicode code points and regex syntax |
| ✓ BESTThis converter | None |
Common Mistakes & Pro Tips
- !Replacing em dashes with nothing (empty string) without adding a space — this runs words together: "decision—made" becomes "decisionmade" instead of "decision made".
- !Not handling en dashes separately — em dash removers that only target the em dash (—) leave en dashes (–) intact, causing inconsistent output.
- !Using the replacement result in HTML without encoding — if you replace em dashes with hyphens and output the result as HTML, the hyphens are safe. But if you were replacing em dashes with the literal character entity — for HTML use, make sure your target system isn't double-encoding it. For HTML output, the original em dash (—) is valid UTF-8; replace it only when the target system is ASCII-only or the encoding context is uncertain.
Frequently Asked Questions
Everything you need to know about Em Dash Remover
What is the difference between an em dash and an en dash?
+
An em dash (—) is the longest dash, roughly the width of the letter M. It marks a strong break in a sentence — like this — and is the dash that appears most in American editorial writing. An en dash (–) is shorter, roughly the width of N, and is used for ranges ("pages 10–20", "2019–2023") and compound modifiers. Both are distinct from a plain hyphen (-).
What should I replace em dashes with?
+
It depends on context. In plain-text or data contexts, replace with a space-hyphen-space (" - ") to preserve readability. In database fields or identifiers, replace with nothing or a hyphen. In body copy for plain-text emails, a comma or parentheses often work better than a hyphen.
Why does Word keep creating em dashes?
+
Microsoft Word's AutoCorrect feature automatically converts two hyphens (--) to an em dash (—) as you type, and converts a single hyphen between words to an en dash. This is helpful for publishing but causes problems when you copy text out of Word into other systems. You can disable it in Word under AutoCorrect Options → AutoFormat As You Type.
Why do em dashes show as question marks in some systems?
+
Em dashes are Unicode characters (U+2014) outside the basic ASCII range (0–127). Legacy systems, some databases, and older email clients that expect ASCII-only text replace unrecognized characters with a question mark or box. Replacing em dashes with ASCII hyphens before sending to those systems prevents the garbling.
Does this tool handle both em dashes and en dashes?
+
Yes. The tool replaces both the em dash (—, U+2014) and the en dash (–, U+2013) in one pass. You can choose whether to replace both, or configure the replacement character for each separately.
What is the Unicode code point for the em dash and en dash?
+
Em dash: U+2014 (—), HTML entity —. En dash: U+2013 (–), HTML entity –. The plain hyphen-minus is U+002D (-), which is in the ASCII range and safe in all text encoding contexts. Em and en dashes are in the General Punctuation Unicode block (U+2000–U+206F). Both are fully supported in UTF-8, which is the encoding of virtually all modern web and database systems.
How do I remove em dashes in Python, JavaScript, Excel, and Google Sheets?
+
Python: text.replace("—", "-").replace("–", "-") or re.sub(r"[—–]", "-", text). JavaScript: text.replace(/[\u2013\u2014]/g, "-"). Excel: =SUBSTITUTE(SUBSTITUTE(A1,CHAR(8212),"-"),CHAR(8211),"-") — CHAR(8212) is em dash, CHAR(8211) is en dash. Google Sheets: =REGEXREPLACE(A1,"[—–]","-"). All four produce the same result: both em and en dashes replaced with ASCII hyphens in a single expression.