Skip to content
Lizely

AI Text Cleaner

Strip the em dashes, curly quotes, hidden Unicode characters and padded spacing that AI assistants leave behind, with every rule switchable and every change counted.

Privacy: your files never leave your device. All processing happens locally in your browser.

How to use

  1. 1.Paste the AI-generated text into the box, or select Load sample to see a typical example.
  2. 2.Tick the rules you want and pick whether dashes become a hyphen, a comma or a space.
  3. 3.Select Clean text, check the per-rule change counts, then copy the cleaned result.

About AI Text Cleaner

AI Text Cleaner removes the typographic fingerprints that large language models leave in their output. Paste a draft, choose which rules should run, and get back the same words with the formatting normalized to plain keyboard characters. Six rules are available and each one is an independent switch, so you can straighten quotation marks without touching dashes, or strip hidden characters while leaving your paragraph spacing exactly as it is. Every run reports how many characters each rule changed, so you can see what happened instead of trusting a silent rewrite.

The dash rule covers the whole run of typographic dashes. U+2013 en dash, U+2014 em dash and U+2015 horizontal bar are true sentence dashes, and you choose what replaces them: a hyphen, a comma, or a single space. U+2010 hyphen, U+2011 non-breaking hyphen and U+2012 figure dash are stand-ins for the ordinary keyboard hyphen and always become one, whatever replacement you picked, because turning the hyphen of left-to-right into a comma would corrupt the word rather than clean it. Those three matter more than they look: they are visually identical to a plain hyphen, so a tool that skips them leaves a problem you cannot see. The minus sign U+2212 is left alone, since it is a mathematical operator and rewriting it would change the meaning of a number. A run of several dashes collapses to one replacement rather than a row of hyphens, and the spacing around the dash is repaired so you never end up with a double space or a space before a comma. The quote rule straightens U+2018 through U+201F plus the prime and double prime marks into the straight apostrophe and straight double quote. Guillemets and CJK brackets are deliberately left alone, because rewriting them would damage legitimate non-English quoting rather than remove an AI artifact. The ellipsis rule turns the single U+2026 character into three ordinary full stops.

The invisible-character rule is the one that matters most for pasted AI output. It removes the zero width space, the word joiner, the byte order mark, the soft hyphen, the combining grapheme joiner, the left-to-right and right-to-left marks, the invisible mathematical operators, and both hidden watermark carriers: the Unicode Tags block and the supplementary variation selectors. It also removes the bidirectional embeddings, overrides and isolates behind the Trojan Source vulnerability, which are invisible, survive copy and paste, and can reorder how a line renders. Every fixed-width and no-break space becomes an ordinary space, so later find-and-replace and word counts behave. Three characters are deliberately kept: the zero width joiner, the zero width non-joiner, and the variation selectors U+FE00 to U+FE0F. The joiner holds multi-person emoji sequences together, the non-joiner is grammatically required in Persian, Arabic and several Indic scripts, and one of the variation selectors is what makes an emoji render as an emoji, so stripping any of them would corrupt valid text rather than clean it. Every code point in these lists was checked against the Unicode Character Database and cross-checked against a second authoritative source.

The two whitespace rules finish the job. The spacing rule collapses runs of two or more spaces or tabs down to one and trims trailing spaces at the end of every line. The blank-line rule leaves at most one blank line between paragraphs and removes blank lines at the very start and end of the text. Every line separator is folded to a line feed first -- carriage returns from Windows applications and the U+2028 and U+2029 separators that come out of PDFs, InDesign and older Word documents -- so all of them behave the same as text copied from a web chat, and the output always uses LF line endings.

Everything runs inside your browser. The text is never uploaded, never stored, never sent to an API and never attached to an account, which matters when the draft you are cleaning is client work or unpublished. Input is capped at one million characters so a large paste cannot freeze the tab. This tool changes formatting only: it does not rewrite sentences, detect AI authorship, paraphrase, translate or improve style, and it makes no claim that cleaned text will pass any AI detector.

Methodology & sources

Fold line endings to LF, then apply six independently switchable rules in a fixed order over Unicode code points verified against the Unicode Character Database, PropList and DerivedCoreProperties, counting every replacement so the reported change totals match the output exactly. Ranges are taken whole rather than sampled, and the characters that carry meaning -- the zero width joiner and non-joiner, the variation selectors and the minus sign -- are excluded by name.

Frequently asked questions

Does this make AI text undetectable?
No. It only normalizes typography such as dashes, quotes, invisible characters and spacing. It does not rewrite wording and makes no claim about AI detectors.
Why are the zero width joiner, non-joiner and variation selectors left in place?
All three are load-bearing. The joiner holds emoji sequences together, the non-joiner is required in Persian, Arabic and many Indic scripts, and variation selector 16 is what makes an emoji render as an emoji. Removing them would corrupt valid text.
Is my text uploaded anywhere?
No. The cleanup runs entirely in your browser. Nothing is sent to a server, stored, or linked to an account.

Text Tools guides

View all