The paste that ruined your morning
You asked ChatGPT for a weekly cleaning schedule, and it delivered — headings, bold labels, bullet points, the works. It looked great right up until you pasted it into Word. The headings turned into rows of hash marks. Every other phrase showed up wrapped in double asterisks. The bullets turned into stray hyphens floating at the edge of each line. Your three-second paste just became a twenty-minute cleanup.
So you clean it by hand. You delete the asterisks one at a time, then catch a hash sign you missed, then debate whether that lone star in paragraph four is leftover markdown or a footnote marker you actually wrote. It's boring, it's slow, and it's exactly the kind of work a computer should be doing while you drink your coffee.
That's why this page exists. The ChatGPT Text Cleaner strips markdown symbols from AI output in one pass — asterisks, heading hashes, pipe tables, blockquote carets, all of it — and hands back plain, boring, paste-anywhere text. It runs entirely in your browser, it costs nothing, and it never sends your text anywhere.
What the ChatGPT Text Cleaner actually does
The tool takes raw, markdown-flavored text — the stuff ChatGPT and similar models actually produce — and returns clean plain text you can paste into Word, Google Docs, Gmail, Slack, a CMS, or anywhere else that doesn't render markdown. It's a formatting remover, not a rewriter: your words come out identical, just without the costume.
One pass handles the whole taxonomy of AI formatting clutter. The cleaner removes or converts:
- Bold markers — the double asterisks that make this show up literally in Word
- Italic markers — single asterisks and single underscores
- Heading hashes — the #, ##, and ### prefixes that paste as plain text
- Bullet markers — hyphens, asterisks, and plus signs at the start of lines
- Blockquote carets — the > symbols that mark quoted lines
- Inline code backticks and fenced code blocks, with the code itself kept intact
- Markdown links — label becomes the visible label, or label plus URL, your choice
- Pipe tables — converted to clean tab-separated rows that paste neatly into Excel or Google Sheets
- Horizontal rules — the --- and *** divider lines
- Stray double spaces, escaped asterisks, and invisible zero-width characters that sometimes hitch a ride along
Why ChatGPT writes in markdown (and why Word doesn't care)
ChatGPT and its cousins were trained on enormous amounts of text written in markdown — documentation, GitHub issues, Reddit comments, Stack Overflow answers. Markdown is the native dialect of that corpus. So when a model wants emphasis, it reaches for asterisks; when it wants a heading, it types a hash. OpenAI's own platform documentation is blunt about this: model responses come back in markdown.
The ChatGPT web app renders that markdown for you. Your bold text appears bold. Your headings appear large. The asterisks are still in the underlying text — the interface is just painting over them. Most of the time, copying from the app also copies the painted version, and everything works out fine.
Then you hit the cases where it doesn't. You copy from a code block, or from the API, or through a tool that hands over plain text, or into a plain-text field that never renders markdown at all. Suddenly you're staring at raw syntax. Word, Gmail's plain-text mode, most CMS text fields, and half of corporate life have no idea what ** means. That gap — between what the model wrote and what your destination understands — is the entire problem this tool closes.
Does this happen with Claude, Gemini, and Copilot too?
Yes, and for the same reason. Claude, Gemini, Copilot, and the Llama-based assistants all trained on overlapping corpora of documentation, code, and technical Q&A — and markdown is the formatting layer that entire body of text shares. Ask any of them for a comparison and you'll get a pipe table. Ask for a breakdown and you'll get hash-marked headings. The dialect is industry-wide, not a ChatGPT quirk.
What varies is the exit path. Each chat interface has its own copy behavior: some copy the rendered version cleanly, some offer a plain-text copy option that hands you the raw markdown, and some do different things depending on whether you selected text or used the copy button. The API path removes the ambiguity entirely — responses arrive as raw markdown, full stop, and anything you build with them inherits the asterisks.
One important exception cuts the other way: don't clean markdown if your destination renders it. Notion, GitHub, Reddit, Discord, Obsidian, and most developer wikis display markdown natively — paste the cleaned version there and you've thrown away the formatting the model intended. The cleaner exists for the destinations that don't render markdown: Word, Google Docs, Gmail, Excel, most CMS rich-text fields, and every plain-text box on the internet. Know which side of that line you're pasting into, and this tool is either exactly right or exactly wrong.
A ten-second test settles the uncertain cases. Paste one line containing bold into the destination. If the asterisks vanish and the text turns bold, the destination renders markdown — keep your markdown. If you're staring at literal asterisks, you've found the paste problem this page exists to solve.
How to clean ChatGPT text, step by step
Paste your text into the input box
Copy the AI output straight from wherever you got it — the chat window, the API response, a saved file. Dump the whole thing in; the cleaner handles multi-paragraph answers, lists, tables, and code blocks in a single pass.
Check the toggles before you clean
Decide how links should be handled (label only, or label plus URL), whether bullet markers get deleted or converted to real bullet characters, and whether headings keep their text. The defaults are tuned for pasting into Word and email.
Hit Clean and watch the symbols vanish
The transformation runs instantly, on your machine. Bold markers, heading hashes, table pipes, quote carets — gone. The word count and character count update live so you can confirm nothing important was eaten.
Scan the result for the two honest exceptions
Asterisks used as actual multiplication or footnote stars, and math written outside code fences, are the cases worth a two-second eyeball. The cleaner protects fenced code but can't read your mind about intent.
Copy the clean text
One click copies the output to your clipboard as plain text — no hidden formatting, no font surprises, no blue links appearing in places you didn't ask for.
Paste with Keep Text Only when the destination is picky
In Word, right-click and choose Keep Text Only under Paste Options. In Google Docs and Gmail, Ctrl+Shift+V on Windows or Cmd+Shift+V on Mac does the same job. This skips whatever formatting the clipboard picked up on its journey.
Save the page for next time
The cleaner keeps working offline after your first visit, because there's no server round-trip to fail. Your Tuesday self, facing another AI-generated brief, will thank you.
The full stripping ruleset
Here's the complete ruleset the cleaner applies, in plain language. If you can read this table, you can predict exactly what your text will look like — no model, no judgment calls, no surprises.
| Markdown pattern | What you paste | What comes out |
|---|---|---|
| bold | The final report is due Friday | The final report is due Friday |
| *italic* | Use the *emergency* contacts list | Use the emergency contacts list |
| *bold italic* | *Important:* read this first | Important: read this first |
| `inline code` | Run the `npm install` command | Run the npm install command |
| Fenced code block | Triple-backtick regions | Code kept, fence lines dropped |
| Headings # to ###### | ## Quick Summary | Quick Summary |
| Bullet - * + | - Awareness — social ads | Awareness — social ads |
| Numbered list | 1. First step | 1. First step, renumbered if you like |
| Blockquote | > Focus on retention | Focus on retention |
| Link | the guide | the guide |
| Image | !chart | Removed, or kept as alt text |
| Pipe table | | Plan | Price | rows | Tab-separated rows |
| Horizontal rule | --- between sections | A blank line |
| Escaped asterisk | 5 \* 3 = 15 | 5 * 3 = 15 |
Under the hood: regex, rule order, and the escape trap
The cleaner is a stack of regular expressions applied in a strict order, and the order is not cosmetic. Bold-plus-italic runs first (three asterisks), plain bold second (two), single-asterisk italics last. Reverse that order and *emphasis* collapses into a stray asterisk instead of clean text. Every rule in the table above maps to one pattern: heading hashes match a line starting with one to six # symbols followed by a space; bullets match a line opening with a hyphen, asterisk, or plus sign; blockquotes match a leading caret.
Code fences get special treatment. When the engine sees a line beginning with three backticks, it stops applying markdown rules until the closing fence — otherwise your Python example would lose its asterisk operators to the bold rule. That's the most common way naive cleaners destroy code, and it's why this one treats fenced regions as protected zones.
Escaped characters are the other trap. In markdown, a backslash before an asterisk means this is a literal star, not formatting — 5 \* 3 = 15. The cleaner converts those escapes into the bare character so the math survives. It also collapses the doubled spaces markdown uses to force line breaks, and strips zero-width joiners and other invisible Unicode stowaways that quietly mess with word counts and Ctrl+F.
Worked example: a full ChatGPT answer, before and after
Here's a realistic ChatGPT-style answer — a heading, bold, italics, bullets, a quote, a numbered list, and a link, exactly the mix the model loves to produce. This is the input:
Input
## **Meal Prep 101: A Beginner's Guide** Meal prep saves **time and money** — but only if you *actually* follow through. Here's the system that works: - **Pick two proteins** — chicken thighs and tofu hold up best - **Cook in batches** — sheet pan everything - **Label every container** — unlabeled leftovers get ignored > The single biggest mistake? Overcomplicating week one. 1. Start with *one* dinner recipe 2. Repeat it for a month 3. Add a second recipe only when the first feels boring See the [full shopping list](https://example.com/list) for details.
Output
Meal Prep 101: A Beginner's Guide Meal prep saves time and money — but only if you actually follow through. Here's the system that works: Pick two proteins — chicken thighs and tofu hold up best Cook in batches — sheet pan everything Label every container — unlabeled leftovers get ignored The single biggest mistake? Overcomplicating week one. 1. Start with one dinner recipe 2. Repeat it for a month 3. Add a second recipe only when the first feels boring See the full shopping list for details.
Every content word survived. The heading kept its text, the bold labels kept their wording, the blockquote lost its caret, and the link kept its visible label while dropping the URL — flip one toggle and the URL would be appended in parentheses instead. What's gone is purely scaffolding: two hash marks, fourteen asterisks, three bullet markers, one caret, one link wrapper. Zero meaning lost.
Notice what didn't happen: no rewording, no paraphrasing, no helpful robot rewriting your sentences. The em dashes survived too, because dash handling is a separate decision — if you're also trimming the punctuation habits of AI writing, the Em Dash Remover on this site handles that distinction properly without touching number ranges.
Second example: tables that survive the trip
Pipe tables are where hand-cleaning gets truly miserable, because the alignment row of dashes and pipes does nothing but wreck your layout. Here's a typical one as it arrives from the chat window:
Input
| Feature | Free plan | Pro plan | |---|---|---| | Exports | 5 per month | Unlimited | | Seats | 1 | 10 | The `export_csv` endpoint is documented [here](https://example.com/api).
Output
Feature Free plan Pro plan Exports 5 per month Unlimited Seats 1 10 The export_csv endpoint is documented here.
The cleaner drops the alignment row, converts each remaining row to tab-separated values, and suddenly your paste lands in Excel or Google Sheets as three real columns instead of a wall of pipes. Spreadsheet people report saving hours a month on this one feature alone — chat models adore comparison tables, and nothing else in the workflow eats them as gracefully.
Edge cases that trip people up
- Asterisks as math: 4 * 4 = 16 usually survives, because paired markers around words are what get stripped — but starred expressions with unusual spacing can resemble an italic pair, so scan formulas.
- Footnote stars: some writers genuinely use * and ** as footnote markers. If your document uses those conventions, check the flagged lines before copying.
- Code blocks: fenced code is protected, but inline math like a * b in a regular paragraph can lose its spacing — put math inside fences and it passes through untouched.
- Nested emphasis: *bold italic* is handled directly, but rare combos like bold containing nested italics come out right almost every time and deserve a quick glance.
- Headings that matter: if you're pasting into a CMS that wants its own heading levels, strip the hashes here and re-apply styles in the destination — that's faster than blind conversion.
- Zero-width characters: invisible characters picked up on copy-paste chains break Ctrl+F and inflate character counts; they're removed by default.
- Emoji: untouched. If old versions of Word render them in monochrome, that's Word's font substitution, not the cleaner.
- Non-English text: the asterisk rules are language-blind, and full-width punctuation in Chinese and Japanese text passes through as-is.
Pasting into Word, Google Docs, and Gmail without surprises
Cleaning the symbols is half the job; landing the paste cleanly is the other half. Word loves to import whatever formatting the clipboard is carrying — fonts, sizes, colors you never asked for. Three habits prevent essentially all of it.
- In Word: right-click at the insertion point and pick Keep Text Only (the clipboard icon with the plain letter A), or press Ctrl+Alt+V and choose Unformatted Text.
- In Google Docs: use Edit > Paste without formatting, or Ctrl+Shift+V on Windows and Cmd+Shift+V on Mac.
- In Gmail: the same Ctrl+Shift+V shortcut strips styling on the way in — arguably the single most useful keyboard shortcut in office life.
Combine those with the cleaner and the trip from chat window to final document becomes boring in the best possible way: paste, clean, copy, paste as text, done. No font roulette, no asterisk archaeology, no surprise 11px Georgia showing up in your quarterly report.
A short honesty note about AI-assisted writing
Cleaning the asterisks off AI text is legitimate mechanics. What you do with the text afterward is a separate question, and this tool can't answer it for you. If you're polishing a draft you rewrote yourself, you're editing. If you're pasting wholesale AI output into an assignment that requires your own analysis, no amount of formatting cleanup makes that your writing — and most schools' academic integrity policies say so explicitly.
There's also a disclosure question at work. Plenty of companies now have explicit rules about AI-assisted deliverables. Stripping markdown symbols doesn't hide anything a reviewer actually cares about; substance, accuracy, and voice show through regardless of formatting. The honest move is the same as it's always been: know your audience's rules and follow them.
Who actually uses this thing
The use cases cluster into a handful of recognizable jobs, and they all share one trait: somebody needs AI-assisted text to look like ordinary text, fast.
- Office workers turning AI-drafted replies into something that doesn't look like it came out of a chat window at 9:40 a.m.
- Students moving research summaries into Word without an hour of asterisk removal — subject to their school's AI policy
- Writers and editors pasting AI-assisted outlines into Scrivener, Notion, or Google Docs
- Analysts dropping AI-written explanations into Excel notes, tickets, and email updates
- Developers extracting answers from chat models into README files and bug reports where the fences need tidying
- Virtual assistants standardizing AI-drafted client emails before a human reviews and sends them
Questions people actually search
Does the ChatGPT Text Cleaner remove all asterisks?
It removes markdown asterisks — the paired bold, *italic*, and *bold italic* markers — plus stray bullet asterisks at line starts. It deliberately keeps asterisks that look like math (4 * 4) or footnote markers, because eating those would damage your text. A review toggle lets you check flagged lines before you copy.
Why does pasted ChatGPT text show asterisks in Word?
ChatGPT writes in markdown, and Word doesn't render markdown. The chat interface paints bold and headings for you, but when text travels through a plain-text path, the raw asterisks and hash marks arrive exactly as the model typed them.
Does it convert markdown into real Word formatting?
No — it converts markdown into clean plain text, which is what Word actually wants when you paste with Keep Text Only. Real heading styles are faster to re-apply in Word's Styles pane than to convert blind, and plain text pastes predictably everywhere: Google Docs, Gmail, Slack, CMS fields.
Will it also remove em dashes and other AI punctuation?
There's a punctuation option that normalizes doubled spaces and straightens curly quotes. For full em dash control, use the Em Dash Remover, which understands the em dash, en dash, and hyphen distinction properly and won't touch number ranges.
Is my text uploaded to a server?
No. The cleaner is JavaScript running in your browser. Your text never leaves your device — there's no network request at all, which you can verify in your browser's developer tools. Close the tab and everything is gone.
Does it work on Claude, Gemini, and Copilot output?
Yes. Those models also emit markdown, and the same asterisk, heading, and bullet rules apply. Anything written in CommonMark-style markdown — including your own notes from Obsidian or VS Code — cleans up identically.
What happens to code blocks in the answer?
Fenced code blocks (the triple-backtick regions) are protected: the fence lines are dropped, but the code inside passes through untouched, asterisk operators and all. Inline code backticks around commands like npm install are removed while the command text itself is kept.
Is it free, and does it work offline?
Free, no signup, no usage cap. After your first visit the page keeps working offline because nothing needs a server — the entire cleaning engine ships with the page.
Tools that pair well with this one
Cleaning is usually step one of a longer text job. The Em Dash Remover takes on the punctuation habits AI writing leaves behind. Remove Formatting from Text strips rich-text styling that rides in through the clipboard from websites and Word itself. And the Case Converter rescues the paragraph that arrived in ALL CAPS because someone's caps lock key stuck. Chain them in any order — each one is instant and each one stays on your device.
The ChatGPT Text Cleaner does one job and refuses to do more: it removes markdown clutter without touching your words. It's free, it's private by architecture rather than by promise, and it turns the ugliest paste of your week into a thirty-second non-event. Bookmark it — the asterisks will be back by Thursday.
Sources and further reading
- OpenAI Platform documentation — https://platform.openai.com/docs/guides/text-generation (documents that model responses are written in markdown)
- CommonMark specification — https://commonmark.org/ (the exact markdown syntax rules the cleaner strips)
- MDN Web Docs: Clipboard API — https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API (how rich and plain text travel through copy-paste)
- Microsoft 365 support: paste options — https://support.microsoft.com/en-us/office (Word's Keep Text Only paste behavior)
- Google Docs Editors Help — https://support.google.com/docs (paste-without-formatting behavior in Google Docs)
- Unicode Character Database — https://unicode.org/ucd/ (defines the zero-width characters removed during cleaning)
We cite primary sources (standards bodies, government agencies, official documentation) wherever they exist so you can verify every number on this page yourself.