AI Text Formatter
Clean up the typographic and structural tells of LLM output: em-dashes, curly quotes, markdown emphasis, runaway bullet lists, and loose whitespace. Toggle each option, see live counts of what changed, copy the result.Runs in your browser. Nothing you type is sent anywhere.
Fixes
The tells this tool cleans up
Every major LLM has a set of typographic habits that readers and detectors pick up on. They are not bugs. They come from the training data, which skews toward published prose where typesetters apply em-dashes, curly quotes, and consistent spacing. Human drafts, by contrast, mostly come from keyboards that type ASCII hyphens and straight quotes. When you paste a ChatGPT response into a keyboard-shaped context, like a Slack thread, a commit message, a plain-text editor, or a code comment, the typographic fingerprint stands out.The first two cleanups handle characters. Em-dashes and en-dashes become hyphens. Curly double quotes become straight ASCII double quotes. Curly single quotes and apostrophes become straight single quotes. Each substitution is counted so you can see exactly how many replacements ran on your input.The third cleanup handles markdown emphasis. LLMs love to bold key terms and italicize anything that feels emphatic, which is useful in a rendered document but noise in a plain-text output. Toggle this off if you are formatting for a Markdown surface that will render the emphasis correctly. Toggle it on when you are converting the output into a paragraph of prose.The fourth cleanup handles bullet lists. A common LLM habit is answering a question that would read better as prose with a list of 5 to 10 bullets. If you are converting to prose, collapse runs of 4 or more bullets into a single sentence joined with commas and an Oxford 'and.' We leave shorter lists intact, since those are usually legitimate enumerations.The fifth cleanup handles whitespace. Some editors and export paths emit double spaces, trailing whitespace, and triple-plus blank lines. Normalizing them produces output that imports cleanly into any downstream surface.What this tool will not do
It will not pass an AI detector. Detectors read the statistics of the text: perplexity per token, burstiness across sentences, vocabulary density, rhythm variance. Those are structural properties that cosmetic character swaps do not change. If your goal is to clean up the text, run this tool as a cleanup pass. If you then want to rework structure and rhythm, you can run the output through Leap's humanizer, which replaces stock phrases, removes invisible characters, adds contractions, and marks sentences of uniform length so you can vary them.It will not fix grammar or correct facts. This is a typographic and structural normalizer, not an editor. If the input has factual errors or awkward sentences, the output will have the same errors with straight quotes and no bold. Review the text with human judgment before publishing.It will not preserve nuance in em-dash usage. A deliberate em-dash can change the voice of a sentence. If you replace every em-dash with a hyphen, the text may read flatter in places. Toggle the em-dash option off if you want to preserve stylistic dashes and handle only quotes and whitespace.A three-step workflow for cleaning AI output
Step one: strip invisible characters. If the text came out of a PDF, a rich-text editor, or a non-standard LLM surface, zero-width Unicode noise is the first thing to remove. Use the invisible character remover.Step two: run this formatter. Strip em-dashes, smart quotes, markdown emphasis, and bullet-list bloat. What is left is clean plain text that behaves the same everywhere it gets pasted.Step three: if you are curious how the text reads to an AI detector, check it with Leap's free AI score checker. It runs in your browser, scores text from 0 to 100 based on writing signals, and highlights the sentences that weigh most. Treat it as a signal, not proof: it can be wrong, and it should never be the only basis for accusing anyone of using AI.Cleaned the typography? Now check the writing signals.
Paste the formatted output into Leap's free AI score checker for a 0 to 100 score and a per-sentence breakdown of the signals it picks up. If you want to keep editing, the humanizer can replace stock AI phrases, remove invisible characters, add contractions, and flag sentences of uniform length so you can vary them yourself.Frequently asked questions
It applies five toggleable cleanups that target the typographic and structural tells of LLM output: em-dashes and en-dashes get replaced with hyphens, curly smart quotes become straight ASCII quotes, markdown bold and italic markers get stripped, runs of more than three bullet points get collapsed into a readable sentence, and excessive whitespace (multiple spaces, triple-plus blank lines) gets normalized.
LLMs tend to use em-dashes far more often than most people type them, so heavy em-dash density is one of the writing signals readers and detectors notice. Replacing them with regular hyphens breaks that pattern. This can change the voice slightly, since a deliberate em-dash is a stylistic choice, so review the output before publishing.
Curly quotes are another AI tell. They also cause problems in code, JSON, CSV, and any plain-text system that expects ASCII. Straight quotes are universally compatible and match the way most humans actually type on a keyboard.
No. These are surface-level changes. An AI detector reads deeper signals like perplexity, burstiness, vocabulary density, and sentence rhythm that cosmetic find-and-replace cannot fix. This tool is a preparation step, not a bypass.
No. The formatter runs entirely in your browser. The page loads once, then the logic executes locally on each keystroke. No uploads, no logs, no server round-trips. Close the tab and the text is gone.
Yes, but with a caveat. Both Google Docs and Word will auto-curl straight quotes back into smart quotes when you paste, so running the cleanup here only helps if you paste into a surface that respects the ASCII: plain text editors, Markdown files, code, Slack, or email composed in a plain-text client.
ChatGPT answers a lot of questions with a 5 to 10 bullet list even when the content would read better as prose. If you are converting an answer into a paragraph for an essay, a memo, or a blog post, collapsing the bullets into a single sentence (joined with commas and 'and') is usually the first step. We only collapse runs of 4 or more bullets to preserve legitimate lists.