✍️ Text & Writing

HTML to Plain Text

Paste HTML and it strips the tags, keeping just the body text. Line breaks, lists and   are turned into natural plain text you can paste straight into an email or note. Everything runs in your browser.

Examples (click to try)
Paste HTML and the body text appears here

How to use the HTML to plain text tool

New here? Press one of the "Examples (click to try)" chips — a sample loads and the result shows right away. Then just paste HTML source into the text area above. It extracts live as you type. To also keep link destinations, tick "Keep link URLs".

Example: HTML with a list

Paste HTML like this:

<h2>What you can do</h2>
<p>Benri.dev is&nbsp;free, no sign-up.</p>
<ul><li>Format JSON</li><li>Make QR codes</li></ul>

You get this (tags removed, list markers added, &nbsp; as a space):

What you can do

Benri.dev is free, no sign-up.

- Format JSON
- Make QR codes
  • Tag stripping: removes HTML tags and keeps the body text. <script> and <style> contents are ignored.
  • Line breaks: <br> becomes a newline; paragraphs, headings and <div> blocks get breaks around them.
  • Lists: <li> gets "- " (or "1. " inside <ol>). Nested lists are indented by two spaces per level.
  • Tables: one line per <tr>, with the <td>/<th> cells of that row separated by tabs (paste straight into a spreadsheet).
  • Entities: &nbsp;, &amp;, &lt; and friends are decoded to their real characters.
  • Keep link URLs: when on, appends (URL) after each <a>'s text.

When it comes in handy

  • Copying just the body of an HTML email or web page into a note
  • Flattening tag-heavy rich text into plain text
  • Removing tags before counting characters (pairs with the Character Counter)

To escape characters into HTML instead, see the HTML Escape / Unescape tool.

FAQ

Is my HTML sent to any server?
No. Tag stripping and text extraction happen entirely within your browser, and your HTML is never sent to or stored on any server. It is safe to use even with email bodies or internal documents.
How are line breaks and lists handled?
The br tag becomes a line break, and block elements like paragraphs, headings and div get line breaks before and after. The li element gets a leading marker (- , or 1. for ordered ol lists), and a non-breaking space (nbsp) becomes a regular space. Runs of blank lines are collapsed to a single blank line for natural plain text. Nested lists are indented by two spaces per level. Tables get a line break per row, and the cells of one row are separated by tabs.
Can I keep link URLs?
Yes. Turn on "Keep link URLs" to append the destination as (URL) after the anchor (a) text. When off, only the link text is kept.