Plain Text vs Rich Text: What Actually Gets Copied?
Copying does not put one thing on the clipboard. The source application normally stores several versions of your selection at once: a plain-text version, which is characters and nothing else, and one or more rich versions, which add instructions about fonts, sizes, colours, bold, links and tables. The application you paste into then picks the version that suits it. That is why a single copy can paste as styled text in a word processor, as bare characters in a plain-text editor and as a picture in an image editor.
So the difference between plain text and rich text is not a property of what you copied. It is a choice made at the moment of pasting.
What counts as plain text
Plain text has no fonts, colours, sizes, alignment or clickable links. It is tempting to conclude that it therefore holds nothing but letters, and that is not true. All of these are plain-text characters:
- line breaks and tabs
- typographic punctuation such as curly quotes, dashes and the ellipsis
- non-breaking spaces and other special spaces
- invisible characters such as zero-width spaces and soft hyphens
- emoji and symbols, including bullets like
•
An HTML or Markdown file is plain text too. The tags and markers are ordinary visible characters, and they only become formatting when a program interprets them.
What rich text adds
Rich text stores the characters together with a description of their appearance and structure. That description comes in several forms:
| Format | Where you meet it | How formatting is recorded |
|---|---|---|
| HTML | Web pages, email, most modern editors | Tags and styles around the text |
| RTF (Rich Text Format) | Word processors, older applications | Control words mixed into the text |
| Application formats | Word processors, spreadsheets, design tools | Private structures that only that application reads fully |
One copy, several versions
The clipboard is not a single slot holding “the text”. It holds a set of representations of the same selection, each labelled with a type, at different levels of fidelity. Copy two paragraphs and a link from a web page and the clipboard typically receives at least a text/plain version and a text/html version. A word processor usually adds formats of its own, and some applications include a picture of the selection as well.
On Windows these are called clipboard formats. Plain Unicode text is one of the standard formats, alongside several for bitmaps. HTML travels in a registered format named HTML Format, which wraps the copied fragment in a short header recording where the fragment begins and ends. Browsers expose the same idea to web pages as typed data, read with calls such as getData("text/plain") or getData("text/html") during a paste event.
When you paste, the destination takes the most suitable version it supports, which for a rich editor is usually the richest one:
| Paste into | Version taken | What you get |
|---|---|---|
| A plain-text editor | Plain text | Characters and line breaks only |
| A word processor | A rich version | Fonts, sizes, colours, links and tables from the source |
| A rich email or web editor | HTML | Styled text, often still in the source’s fonts |
| A terminal | Plain text | Characters only |
| A text box on a web page | Plain text | Characters only |
| An image editor | A picture, if one was offered | An image, or nothing at all |
A “paste without formatting” command gives you the plain-text result on purpose: characters only, in the style of the place you paste them. The ways to do that in different applications are set out in the guide to removing formatting from text.
The plain-text version is written by the source
Something has to decide how a table, a bulleted list or a heading becomes a string of characters, and it is the application you copied from. The results differ:
- A word processor may write a list bullet as a literal
•followed by a tab. - A browser builds the text from the page as it is displayed, not from the HTML source.
- A spreadsheet typically separates cells with tabs and rows with line breaks.
- Text copied from a PDF often has a line break at the end of every visual line.
Two plain-text copies of what looks like the same content can therefore be quite different, depending on where each was copied from. The word-processor case is covered in cleaning text copied from Word and Google Docs.
Why pasting into the Text Cleaner gives you plain text
The Input Text box on the Text Cleaner is a plain text area. A control like that can hold characters only, so it receives the plain-text version and the rest is ignored, whether you paste with the keyboard or use the Paste button. Fonts, colours, sizes and link addresses are gone the moment you paste, before any option runs.
Plain is not the same as clean, though. Everything in the list near the top of this guide comes through, and that is what the presets are for: General Clean for whitespace, Word / Docs for hidden characters from word processors, PDF Copy for hard-wrapped lines. Nothing is processed until you press Clean Text, and the text stays in your browser.
What is lost and what survives
Lost when rich text becomes plain text
- Link addresses. The link text stays; where it pointed does not.
- Emphasis and colour. Bold, italics, underline, highlighting.
- Heading levels. A heading becomes an ordinary line.
- Table structure. The grid becomes tabs and line breaks.
- List behaviour. Automatic numbering and nesting are flattened, and markers either become typed characters or disappear.
- Images. They are simply not there.
Lost link addresses catch people out most often: a paragraph with ten links becomes a paragraph with none, and they cannot be recovered from the plain version. If you need them, collect them from the original before you convert. The guide to HTML to plain text explains what a conversion keeps and what it drops.
Survives, sometimes unexpectedly
- Line breaks, including ones in the middle of sentences
- Tabs and repeated spaces
- Non-breaking spaces
- Curly quotes, dashes and the ellipsis character
- Zero-width characters and soft hyphens
- Bullets and numbers that the source wrote out as characters
Frequently asked questions
Does pasting as plain text remove hidden characters?
No. It removes formatting, and hidden characters are not formatting. A zero-width space or a non-breaking space is a character like any other, so it can travel in the plain-text version just as letters do.
Is Markdown plain text or rich text?
Plain text. A Markdown file contains only characters; markers such as ** and # describe formatting that appears when a program renders them. This is why text copied from an application that hands over its Markdown source arrives with the markers visible.
Can formatting be recovered after a plain-text paste?
Not from the pasted text. If you have not copied anything else since, the clipboard still holds the rich version, and a normal paste into a rich editor will use it.
Sources
- Clipboard API and events — W3C
- ClipboardEvent: clipboardData property — MDN Web Docs
- Standard Clipboard Formats — Microsoft Learn
- HTML Clipboard Format — Microsoft Learn
This guide was drafted with AI assistance and reviewed by the publisher. See the editorial policy for how guides are written and corrected.