· 5 min read
How to Strip Rich Text Down to Clean Plain Text
Manesh Jayawardhana
CIO & Co-founder
You copy a paragraph from a Word document, a webpage, or an email into a text field, and suddenly it’s a different font size than everything around it, in a color that doesn’t match your theme, with a stray hyperlink underline that won’t go away. Most apps have a “paste as plain text” shortcut, but plenty don’t, or you’re copying between two tools where neither one offers it — a CMS editor that only exposes rich paste, a chat app, a code comment field that shouldn’t have HTML in it at all.
The formatting isn’t just cosmetic clutter. In a CMS, pasted rich text can drag in inline styles that fight your site’s stylesheet. In a plain-text-only field, it can inject characters or markup that break the field entirely. Either way, the fix is the same: get the actual words without whatever formatting rode along with them.
What stripping formatting actually involves
Rich text and HTML carry two layers: the visible content and the markup or styling that controls how it looks (fonts, colors, bold/italic, inline CSS, wrapping <span> and <div> tags). Stripping formatting means keeping the first layer and discarding the second — leaving readable plain text with no tags, no inline styles, and no invisible formatting artifacts, but with the actual words, line breaks, and structure a reader would expect intact.
This is a slightly different job depending on the source. Pasted rich text (from a word processor or webpage) usually needs its formatting attributes removed. Raw HTML source needs its tags stripped, entities decoded (& becoming &), and structural elements like paragraphs and line breaks converted into plain-text equivalents rather than dropped.
Why people get stuck here
- Not every app has a plain-paste shortcut. Keyboard shortcuts like Ctrl+Shift+V exist in some apps and not others, and remembering which is which across a dozen tools isn’t realistic.
- Formatting can carry hidden risk, not just clutter. Pasting rich text into a CMS or CRM field can inject inline styles or stray markup that breaks the page’s layout later, sometimes invisibly until it renders wrong somewhere else.
- HTML source is a different problem than rich text. Stripping tags out of raw HTML (
<p>,<br>, entity codes) needs different handling than removing formatting from something you copied visually — a lot of tools only handle one case. - Some “plain text” pastes aren’t actually plain. Even after a plain-paste shortcut, some apps leave residual formatting behind if the source was complex enough (nested tables, tracked changes, embedded styles).
What a good plain text stripper looks like
Handles both pasted rich text and raw HTML source
Since these are genuinely different inputs, a tool that only covers one leaves you stuck the other half of the time — copying visual rich text is a different workflow than pasting HTML markup you copied from a code view.
Keeps real structure, doesn’t just delete everything
Paragraph breaks and line breaks should survive as plain-text equivalents, not get flattened into one run-on block along with the formatting that actually needed removing.
Decodes entities correctly
HTML entities like &, , and " need to become the actual characters they represent, not stay as literal text in the output.
Common mistakes to avoid
- Assuming Ctrl+Shift+V (paste as plain text) is universally supported — it isn’t, and some apps ignore it or only partially strip formatting.
- Pasting rich text directly into a CMS or CRM field without checking for inline styles, which can quietly break page layout weeks later when the styles conflict with a site update.
- Manually deleting visible formatting (unbolding, changing font) without realizing the underlying markup or inline styles are still there, invisible in the rendered view.
- Treating HTML source stripping and rich-text stripping as the same operation — copying raw
<div>tags into a rich-text stripper won’t clean it the way an HTML-aware stripper would. - Forgetting to double check line breaks after stripping, since some methods collapse all whitespace into one line by accident.
How to do it with Plain Text Stripper
Online Tool Store’s Plain Text Stripper runs entirely in your browser — nothing you paste is uploaded anywhere.
- Open the Plain Text Stripper tool.
- Paste rich text directly, or paste raw HTML source, depending on what you’re working with.
- Review the cleaned plain-text output, with structure like paragraphs preserved.
- Copy the result into wherever you actually need clean text — a CMS field, a code comment, an email, a plain-text document.
Because it runs locally, it’s fine to use on text from an internal document you wouldn’t want passed through a third-party server.
Frequently asked questions
What’s the difference between stripping rich text and stripping HTML?
Rich text is what you get from copying visually formatted content (a Word doc, a webpage’s rendered text) — the formatting is attached as styling. Raw HTML source is the markup itself (tags like <p> and <b>, entities like &), which needs tag removal and entity decoding rather than style stripping.
Will stripping formatting delete my paragraph breaks?
It shouldn’t, with a tool built to preserve structure — paragraph breaks and line breaks should carry over as plain-text equivalents even after all styling, colors, and fonts are removed.
Why does pasted text sometimes look plain but still cause problems?
Some formatting is invisible in a plain-text view but still present underneath — inline styles, invisible characters, or residual markup that a partial “paste as plain text” didn’t fully clean. Running it through a dedicated stripper catches what a keyboard shortcut might miss.
Final thought
Formatting that tags along with copied text is one of the most common small annoyances in daily work, and it’s usually invisible until it breaks something downstream. Strip it deliberately before pasting into anywhere that actually needs plain text, rather than finding out the hard way later.