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.
Changes made
| Change | Count |
|---|
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
- Emoji sequences. A joiner between two emoji (a family, a rainbow flag) stays, and so do the tag characters that spell a region inside a flag such as Scotland’s. Tags that spell anything else are removed.
- Scripts that need joiners. A joiner between two letters of Persian, Arabic, Hindi, Bengali and similar scripts changes how the word is written, so it stays. Between Latin letters it goes.
- Old-style Hangul syllables keep a filler that stands in for a missing part, and visible format characters, such as the Arabic number signs U+0600 to U+0605, are left alone.
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.