AI Text Cleaner: Remove Em Dashes

Remove em dashes, curly quotes, Markdown marks and hidden characters from ChatGPT and other AI text. See every change with counts, then copy clean text.

What to clean

Where the changes are

How to use the AI text cleaner

Paste your text into the box. Each option shows how many matching characters or marks your text contains, and the cleaned version updates as you type. Where the changes are shows the original text with each invisible character drawn as a labelled tag (hover or tap one for its code point and name), and Changes made lists every kind of change with its count. Copy the result or download it as a .txt file.

Exactly which characters are changed

Option Characters (Unicode code points) Becomes
Em dashes — U+2014, ― U+2015, ⸺ U+2E3A, ⸻ U+2E3B the style you pick
En dashes and hyphens – U+2013, ‒ U+2012, ‐ U+2010, non-breaking hyphen U+2011, − U+2212 -
Curly quotes ‘ ’ ‚ ‛ U+2018 to U+201B '
  “ ” „ ‟ U+201C to U+201F "
Ellipsis … U+2026 ...
Unusual spaces U+00A0, U+1680, U+2000 to U+200A, U+202F, U+205F, U+3000 a normal space
Line separators U+2028, U+0085 / U+2029 a line break / a blank line

Invisible characters removes the Unicode Cf (format) category, such as the zero-width space U+200B, the joiners U+200C and U+200D, direction marks and bidirectional controls, the word joiner U+2060, the byte order mark U+FEFF, the soft hyphen U+00AD and the tag characters U+E0001 to U+E007F. It also removes the combining grapheme joiner U+034F, the Hangul fillers, and variation selectors that come in runs, follow no character or follow one this tool removes or replaces.

What is kept on purpose

Collapsing spaces keeps the indentation at the start of a line.

How em dashes are replaced

With comma, “the result—surprisingly—was good” becomes “the result, surprisingly, was good”. A dash between two numbers, or in a range such as 2019—present, becomes a hyphen; a dash right before other punctuation is dropped; a dash at the start of a line becomes a hyphen. Hyphen with spaces puts one space on each side of the hyphen, and plain hyphen keeps the spacing. Read the result once: an em dash sometimes works as a colon, and no rule can know that.

Markdown and NFC

Remove Markdown formatting, off by default, takes out the marks chat assistants use, so text pasted into an email, form or Word document reads cleanly. Bold, italic and strikethrough marks, heading marks, backticks, code fence lines, quote marks and horizontal rules go. A link becomes its text with the address in brackets, an image its alt text, and -, * or + bullets become • or disappear, as you choose. Numbered lists, tables and asterisks with spaces around them, as in 2 * 3, are left alone.

Normalise to NFC joins a letter and a separate accent mark (e followed by U+0301) into the single character é that most software expects. The text looks the same, but search, sorting and word counts work better. It also replaces a few compatibility characters, such as the angstrom sign U+212B and CJK compatibility ideographs, with their standard forms.

Hidden characters and AI detectors

Invisible characters can come from typography, from the app you copied from, or from deliberate tampering: tag characters mirror printable ASCII and have been used to hide instructions in text given to AI tools, so the highlighted view decodes them. The cleaner changes punctuation, spacing and formatting but never rewrites your words, so don’t expect it to change an AI detector’s verdict.

Frequently asked questions

Is my text uploaded anywhere?

No. The cleaning runs entirely in your browser with JavaScript. Your text is not sent to a server, logged or stored.

Which em dash replacement should I use?

Comma reads most naturally for dashes that set off an aside, as in “the plan, in theory, works”. Hyphen with spaces keeps the pause of a dash while using only keyboard characters. Plain hyphen is a straight swap that keeps your original spacing.

Why are some zero-width joiners marked as kept?

They sit inside an emoji sequence or between letters of a script that needs them. Removing those would break the emoji into separate pictures or change how the word is spelled, so the cleaner leaves them in place.

Will removing these characters make AI text undetectable?

No. AI detectors judge the wording and its statistics, not invisible code points. This tool fixes typography and formatting and removes hidden characters; it does not rewrite anything.

Does it change accented letters, emoji or other languages?

Letters in any script, emoji and line breaks look the same afterwards. The only change to letters is Normalise to NFC, which stores a letter and its separate accent as one character; turn it off to keep the original encoding.