HTML stripper

Paste any HTML and get the plain text back — tags removed, entities decoded, line breaks preserved. Everything runs in your browser.

0 chars · 0 words
Plain text
0 chars · 0 words
The plain text appears here as you type…

Parsing, not regex

Stripping tags with a regex like replace(/<[^>]*>/g, '') breaks on real-world HTML — attributes containing >, unclosed tags, comments, and script bodies all leak through. This tool parses the input with the browser's own HTML parser into an inert document (scripts never run, nothing is fetched), then walks the tree collecting text:

  • script, style, and noscript contents are dropped — they were never prose.
  • Block elements (p, div, h1–h6, li, tr, blockquote…) and <br> become line breaks, so paragraphs survive.
  • Entities are decoded by the parser itself — the full HTML set, named and numeric.
  • Runs of blank lines collapse to a single one, and stray indentation whitespace is tidied per line.

Common uses

  • Word counts — the character and word counts under both boxes make it easy to measure the actual copy on a page, markup excluded.
  • Emails and CMS exports — turn an HTML email or a rich-text field export into clean text for a plain-text version, a changelog, or a spreadsheet cell.
  • Feeding text to LLMs — stripped text is far cheaper to send to a model than raw HTML, and the preserved line breaks keep the structure the model needs.
  • Need the opposite — entities escaped rather than removed? Use the HTML encoder instead; stripping is one-way and the markup can't be recovered from the output.

Want people to see the page itself, not just its text? Share the HTML file as a link — drop it there, it's checked for broken paths, and you get a live URL.

Frequently asked questions

How do I remove HTML tags from text?

Paste the HTML into the box above — the plain text appears instantly with every tag removed, entities like &amp; and &nbsp; decoded, and paragraph breaks preserved. Copy the result or download it as a .txt file.

Does it keep line breaks and paragraphs?

Yes, by default. Block elements like <p>, <div>, headings, list items, and <br> become line breaks, so the text keeps its structure instead of collapsing into one long line. Turn 'Keep line breaks' off if you want a single continuous line.

What happens to scripts and CSS inside the HTML?

The contents of <script>, <style>, and <noscript> are dropped entirely — you get the readable text, not JavaScript source or CSS rules. The HTML is parsed into an inert document, so nothing in it ever executes.

Are HTML entities like &amp; and &#8217; decoded?

Yes. Named, decimal, and hex entities all come out as the characters they represent — &amp; becomes &, &hellip; becomes …, &#8217; becomes a right single quote.

Can I keep list bullets?

Turn on 'Keep list bullets' and each <li> starts with '- ', so bulleted and numbered lists stay recognizable as lists in the plain text.

Is the HTML I paste uploaded anywhere?

No. Parsing and stripping happen entirely in your browser — nothing is sent to a server, which also means it works on private or internal content.

Related free tools

See all free tools →

Built something? Put it online in seconds

host0 is the cloud for small software: bring any coding agent, build the tool only you need — like this one — and say "deploy to host0". Live at a shareable URL, no servers to run.