Cleaning AI text means normalizing the typographic fingerprints that a large language model leaves behind — the em dashes, curly quotes, hidden Unicode characters and padded spacing — so the same words come out as plain keyboard characters ready for a document, email, spreadsheet or CMS. The cleaning does not rewrite the wording or detect AI authorship; it normalizes the formatting only, and that distinction is the point. A tool built for this specific job — the AI Text Cleaner — applies six rules in one pass, with each rule run by an independent switch so you can straighten quotes without touching dashes, or strip invisible characters while leaving your paragraph spacing exactly as it was. Every run reports how many characters each rule changed, which turns a silent rewrite into an auditable one. The text never leaves your browser tab, which matters when the draft is client work, an unpublished report, or anything you do not want uploaded.

how to clean ai
How to Clean AI Text Without Rewriting the Words

What "Cleaning AI Text" Actually Means

Modern AI assistants produce text that reads fluently but carries a recognizable signature: the long em dash used as a sentence break, curly quotation marks that look fine on a webpage but render as scrambled glyphs in some plain-text editors, the single ellipsis character instead of three dots, and—most invisible of all—control characters and zero-width spaces that survive copy and paste without appearing on screen. To a human reader the text looks clean. To a downstream tool—a spell-checker, a regex find-and-replace, a word counter, a database import—the text is full of characters it cannot see.

These artifacts fall into a small number of categories. There are sentence punctuation marks: em dash, en dash, horizontal bar, smart quotes and the ellipsis character. There are invisible control characters: the zero-width space, the byte order mark, the soft hyphen, the bidirectional embeddings behind the Trojan Source vulnerability, and the Unicode Tags block that has been used to embed hidden watermarks. There is padded spacing: double spaces, double tabs, trailing spaces on lines, multiple blank lines between paragraphs. And there are line endings from different sources: Windows carriage returns, and the U+2028 and U+2029 separators that come out of PDFs, InDesign and older Word documents.

The goal of cleaning is to fold all of those back into plain ASCII punctuation, ordinary spaces and consistent line feeds—without touching the words themselves, the numbers, or any character that is load-bearing for a legitimate reason. The AI Text Cleaner handles exactly that scope, and nothing wider.

The Six Rules and What Each One Targets

The cleaner is organized as six independent rules, each with its own switch and its own count of characters changed. Leaving all six on gives a full normalization; turning one off keeps that category of formatting untouched.

RuleWhat it targetsReplacement
DashesEm dash (U+2014), en dash (U+2013), horizontal bar (U+2015), hyphen (U+2010), non-breaking hyphen (U+2011), figure dash (U+2012)The first three become a hyphen, comma or space — your choice. The three hyphen-like marks always become one hyphen. A run collapses to a single replacement.
QuotesU+2018 through U+201F, plus prime (U+2032) and double prime (U+2033) marksStraight apostrophe and straight double quote. Guillemets and CJK brackets are deliberately left alone.
EllipsisSingle ellipsis character (U+2026)Three ordinary full stops.
Invisible charactersZero-width space, byte order mark, soft hyphen, combining grapheme joiner, LTR/RTL marks, invisible math operators, Unicode Tags, supplementary variation selectors, fixed-width and no-break spaces, bidirectional embeddings/overrides/isolatesRemoved. The zero-width joiner, non-joiner and variation selectors U+FE00–U+FE0F are preserved on purpose.
SpacingRuns of two or more spaces or tabs; trailing spaces at the end of every lineCollapsed to one space; trailing whitespace trimmed.
Blank linesMultiple blank lines between paragraphs; blank lines at the start or end of the textAt most one blank line between paragraphs; leading and trailing blank lines removed.

The dash row in particular has more going on than it looks. The three hyphen-like marks (U+2010, U+2011, U+2012) are visually identical to a plain hyphen, so a tool that skips them leaves a problem you cannot see in the source view. The minus sign (U+2212) is a mathematical operator and is left alone, because rewriting it would change the meaning of any number in the draft.

How to Clean AI Text Step by Step

  1. Paste the AI-generated text into the box, or select Load sample to see a typical example of a draft with em dashes, curly quotes and hidden Unicode.
  2. Tick the rules you want to run. For a full cleanup leave all six switched on. For a partial cleanup, switch off the rules whose output you want to preserve — for example, turn off Spacing if you have hand-formatted paragraphs you do not want collapsed, or turn off Quotes if the surrounding document uses smart quotes deliberately.
  3. Pick what the dashes should become: a hyphen, a comma, or a single space. The choice applies to the em dash, en dash and horizontal bar. The three hyphen-like marks always become one hyphen, regardless of the choice, because turning the hyphen inside a word into a comma would corrupt the word.
  4. Select Clean text. The tool folds every line ending to LF first, then applies the six rules in a fixed order over code points verified against the Unicode Character Database, so a paste from a chat window, a PDF, a Word file or a Notepad all behave the same.
  5. Check the per-rule change counts the tool reports. Each of the six rules shows how many characters it changed, so you can verify the run did what you expected instead of trusting a silent rewrite. If a count is zero, that rule had nothing to do.
  6. Copy the cleaned result into your document, email, CMS or spreadsheet.

The change counts are computed in the same pass as the replacements, so the reported totals always match the output exactly rather than being an estimate.

Why the Tool Preserves Certain Characters

A cleaning tool that strips everything invisible would corrupt perfectly valid text. Four categories of character are kept on purpose, and the reason for each is documented.

The zero-width joiner (U+200D) holds multi-person emoji sequences together — the family and couple emoji are written as several code points joined by this invisible character. Strip it and the cluster falls apart into separate people. The zero-width non-joiner (U+200C) is grammatically required in Persian, Arabic and several Indic scripts; remove it and the script breaks. The variation selectors U+FE00 to U+FE0F include variation selector 16, which is what makes a base character render as an emoji rather than a black-and-white glyph; stripping it would silently turn your emoji into letters.

The minus sign (U+2212) is a mathematical operator, not a typographic hyphen, so it is left untouched. The three hyphen-like marks (U+2010, U+2011, U+2012) look identical to a plain hyphen but behave differently in some layout engines, so the dash rule rewrites them to one ordinary hyphen for consistency — which is why they are not in the preservation list. These exclusions were checked against the Unicode Character Database and cross-checked against a second authoritative source, so the preserved list is exact rather than a guess.

Local Processing, Privacy and the One-Million-Character Cap

Every line of the cleaning runs inside your browser tab. The text is never uploaded to a server, never stored, never sent to an API and never attached to an account. This matters in three situations: when the draft is client work you have not published yet, when it contains personal information you do not want logged, and when you simply prefer not to send unpublished prose to a third-party service.

The input is capped at one million characters, so a very large paste cannot freeze the tab while it is being processed. Because the tool is local, it works offline once the page has loaded, and the cleaned output is exactly what your computer produced. There is no queue, no rate limit, and no account wall. You can re-run the same paste with different rule combinations and compare the change counts to see which rule did the work.

The output always uses LF line endings, regardless of what the input used. Carriage returns from Windows, the U+2028 and U+2029 separators that come out of PDFs and InDesign, and any mix of CR and LF all get folded to LF first so the cleaning rules see a single consistent representation of a line break. That is also why the same paste from a chat window and a copy of a Word document produce identical output once cleaned.

What This Tool Does Not Do

The AI Text Cleaner is a typography tool, not a writing tool. It does not rewrite sentences, does not paraphrase, does not translate, does not improve style and does not detect AI authorship. It makes no claim that cleaned text will pass any AI detector, and toggling rules will not change that.

If you want a draft rewritten so it reads less like AI output, you need a paraphrasing tool or a human editor. If you want to detect AI authorship, you need a detector — and even then the results are not reliable. The AI Text Cleaner solves a specific, narrower problem: the typographic noise an AI assistant adds to otherwise readable prose. Solving that problem well is its only job, and the per-rule change counts are there so you can see exactly what happened instead of taking a silent rewrite on faith.

Open the AI Text Cleaner, paste a draft, toggle the six rules and read the per-rule change counts before you copy anything downstream.

For a deeper look, see How to Count Characters in a Word Doc for Any Limit.