What “ChatGPT formatting” is actually made of
An answer in the ChatGPT window looks like a tidy document: bold labels, headings, bullet lists, the occasional table. Underneath, it is three separate layers, and each one causes a different problem when you copy it somewhere else.
- The markdown layer. ChatGPT writes in markdown and the interface renders it. Select-and-copy grabs the raw markdown, so the bold arrives as
**bold**, headings as ## Heading, tables as rows of pipes. Anywhere that does not render markdown shows the symbols. - The rich-text layer. The copy button under each reply now puts a rich HTML version on the clipboard as well. Word, Outlook and Gmail take that version, complete with a gray background, a foreign font and padded paragraphs.
- The residue. Citation markers from web search or file reading, zero-width and narrow no-break spaces, and — from reasoning models — the thinking block that precedes the answer. None of it is visible in the chat and all of it comes along.
There is no “copy as plain text” in ChatGPT, so you cannot opt out of any layer at the source. This page strips all three after the fact and reports what it found.
The citation markers, and what happens to each
The markers are the part most tools miss, and the part that makes a pasted answer look obviously generated. The table lists the forms we see in copied text and what this page does with them.
A numbered sources list at the end keeps its numbers on purpose, so you can still read it or delete it as a block. Inline markers next to the text they cite are what get removed.
Removal also tidies the gap. “Revenue grew 12% [1].” becomes “Revenue grew 12%.” rather than leaving a space before the full stop, and a pair like [1][2] is treated as two citations in the count. If your text contains an array index such as arr[0] outside a code span, switch Remove citations off in the preferences for that paste.
Reasoning blocks from DeepSeek and friends
Models that show their reasoning — DeepSeek R1 is the common one — sometimes copy the whole thinking section with the answer, wrapped in <think>tags. It can run to several paragraphs of the model talking to itself. This page removes the block and the blank lines it leaves, and the status line notes “1 reasoning block removed” so you know it was there. If you want to keep the reasoning, paste it separately.
What stays
Plain text does not mean flattened text. Paragraph breaks, line breaks and blank lines are preserved. Numbered lists keep their numbers. Bulleted lists keep a hyphen (or a • if you turn on Keep bullets). Links become text (url), so both the wording and the address survive. The content of code blocks is kept exactly, with the fence lines removed. Em dashes and curly quotes are left as they are unless you change the preferences, where you can replace the dashes with a comma or hyphen and straighten the quotes in the same paste — the em dash remover explains why you might want to.
Where you need this
Upwork, Fiverr and job applications. Message boxes and cover-letter fields are plain text. A proposal with asterisks and hashes reads as unedited AI output, and clients have learned to skip those. Strip here, then follow the Upwork proposal workflow to make the content itself land.
CRMs, ticketing systems and internal tools. Salesforce notes, Zendesk macros, Jira comments in plain mode, intranet forms: all of them show markdown raw and most strip rich text. Plain text is the one format that arrives exactly as sent.
Plain-text email and SMS. Cold-email tools that send in plain text, and anything going out as a text message, need the words only. The cold email guide covers the writing side.
Spreadsheets. A table from ChatGPT comes out of this page as tab-separated rows, which paste into Excel or Google Sheets as real columns — often the fastest way to get a generated table into a sheet. For a typed .xlsx with number and currency formats, use the ChatGPT table to Excel converter.
When you want formatting, not plain text
Stripping is right when the destination cannot show formatting. When it can, convert instead. For Word and Google Docs, the ChatGPT to Word and Google Docs converters turn the markdown into real headings and lists and drop the gray background. For LinkedIn, Facebook and other plain-text social boxes, the AI text formatter keeps bold as Unicode bold and bullets as real bullets. For a markdown file, the ChatGPT to Markdown page gives you clean, standard markdown rather than removing it.
Related tools
Private and free
The clean-up runs in your browser with client-side JavaScript. Your text is never sent to a server, stored or logged. No account, no limits, no watermark.