AI text cleanup means removing the typographic fingerprints — em dashes, smart quotes, hidden Unicode characters and double spaces — that large language models leave in their output, without rewriting the words themselves. The AI Text Cleaner does exactly that: paste an AI draft, toggle which rules run, and get back the same sentences with the formatting normalized to plain keyboard characters. Six rules are available, and each is an independent switch, so a writer can straighten quotation marks without touching dashes, or strip hidden characters while leaving paragraph spacing exactly as it is. Every run reports how many characters each rule changed, which means you can see what happened rather than trust a silent rewrite. The cleanup runs entirely inside the browser, so the text is never uploaded, never stored, and never sent to an API — a meaningful detail when the draft being cleaned is client work, a manuscript under embargo, or anything else that should not leave the tab.

ai clean text from image
ai clean text from image

The Six Rules and What Each One Targets

Each rule targets one slice of the typographic mess an AI draft tends to carry, and the table below summarizes what each one looks for, what it removes, and what it leaves behind. Toggling is per-rule, so you can run any subset without running the rest, and ranges are taken whole rather than sampled so no target character escapes the pass.

RuleCharacters targetedReplacement behaviour
DashesU+2013 en dash, U+2014 em dash, U+2015 horizontal bar, plus U+2010, U+2011 and U+2012 hyphen stand-insSentence dashes become a hyphen, comma, or single space (you pick); hyphen stand-ins always become one hyphen; U+2212 minus is left alone
QuotesU+2018 through U+201F smart quotes plus prime and double prime marksStraight apostrophe (') and straight double quote ("); guillemets and CJK brackets are deliberately kept
EllipsisThe single U+2026 characterThree ordinary full stops (.)
Invisible charactersZero width space, word joiner, byte order mark, soft hyphen, combining grapheme joiner, LTR/RTL marks, hidden math operators, Unicode Tags block, supplementary variation selectors, Trojan Source embeddingsRemoved entirely; zero width joiner, non-joiner and variation selectors U+FE00 to U+FE0F are kept
SpacingRuns of two or more spaces or tabs; trailing spaces at line ends; every fixed-width and no-break spaceCollapsed to one ordinary space
Blank linesBlank lines at the very start or end of the text; runs of more than one blank line between paragraphsAt most one blank line between paragraphs

How to Clean an AI Draft in Three Steps

  1. Paste the AI-generated text into the box, or select Load sample to see a typical example of what an AI draft looks like before cleanup.
  2. Tick the rules you want and, for the dash rule, pick whether dashes become a hyphen, a comma, or a single space — every rule is an independent switch, so you can leave any of them off.
  3. Select Clean text, check the per-rule change counts to confirm each rule did what you expected, then copy the cleaned result into your editor, CMS, or email draft.

Choosing a Dash Replacement

The dash rule covers the whole run of typographic dashes that AI assistants tend to sprinkle into prose. The 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. Each option fits a different editorial style. A hyphen keeps compound modifiers tight, so a phrase like "state of the art" stays a single hyphenated unit. A comma restores the breath an em dash would have given, turning "the project — three months late — finally shipped" into "the project, three months late, finally shipped". A single space treats the dash as a marker of an em dash that was never finished, useful for drafts where the writer wants to see the break before committing to punctuation. A run of several dashes collapses to one replacement rather than producing a row of hyphens, and the spacing around the dash is repaired so the output never contains a double space or a space before a comma.

Three characters that look like ordinary hyphens matter more than they appear. U+2010 hyphen, U+2011 non-breaking hyphen, and U+2012 figure dash are visually identical to a plain keyboard hyphen, so a tool that skips them leaves a problem you cannot see. Those three always become one hyphen, regardless of the replacement chosen for the sentence dashes, because turning a hyphen inside a word into a comma would corrupt the word rather than clean it. The minus sign U+2212 is left alone: it is a mathematical operator, and rewriting it would change the meaning of a number, so formulas copied from an AI explanation stay numerically correct.

Why Some Invisible Characters Are Kept

The invisible-character rule is the one that matters most for pasted AI output, but it is also the one with the most load-bearing exceptions. The rule 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, the hidden watermark carriers from the Unicode Tags block, the supplementary variation selectors, and the bidirectional embeddings, overrides, and isolates behind the Trojan Source vulnerability — invisible characters that survive copy and paste and can reorder how a line renders.

Three characters are deliberately kept. The zero width joiner holds multi-person emoji sequences together, so a family sequence stays a single family rather than three separate characters. The zero width non-joiner is grammatically required in Persian, Arabic, and several Indic scripts. Variation selector 16 is what makes an emoji render as an emoji at all. Removing any of these would corrupt valid text rather than clean it, so they pass through untouched. Every code point in both the removal list and the keep list was checked against the Unicode Character Database and cross-checked against a second authoritative source before the rule shipped.

Privacy, Limits, and What It Does Not Do

Everything runs inside the browser tab. The text is never uploaded, never stored, never sent to an API, and never attached to an account, which matters when the draft being cleaned is client work, a manuscript under embargo, or anything else that should not leave the page. Input is capped at one million characters so a large paste cannot freeze the tab; for paste operations that run alongside cleanup, a tool like the whitespace remover or special characters remover can handle side tasks if a draft needs a separate pass.

Two practical limits matter before you start. Every line separator in the input — carriage returns from Windows, the U+2028 and U+2029 separators that come out of PDFs, InDesign, and older Word documents — is folded to a line feed first, so all of them behave the same as text copied from a web chat, and the output always uses LF line endings. If your destination editor expects CRLF, run the cleaned output through a line break converter before pasting. The 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. For drafts that need shaping as well as normalization, a text formatter is the natural next step rather than a substitute.