Strip HTML Tags
Convert HTML to plain text — tags removed, entities decoded, line breaks preserved.
Paste markup to extract its readable text: all tags are removed, common named and numeric entities (&, A) are decoded, script/style content and comments are dropped, and block elements like paragraphs, headings, and list items become line breaks. Ideal for cleaning scraped content, email HTML, or CMS exports before pasting into docs.
How to use this calculator
- Paste your HTML into the input box.
- Leave 'Preserve line breaks' on for structured text, or uncheck it for one flowing paragraph.
- Click Strip Tags.
- Review the plain text — scripts, styles, and comments are gone.
- Copy it into your document, ticket, or prompt.
The formula
Script/style blocks and comments are removed first; <br> and block-level closing tags are replaced with newlines; remaining tags are stripped; entities are decoded; finally whitespace is collapsed per line and empty lines dropped.
Worked example
Stripping <h1>Weekly Report</h1><p>Tom & Jerry scored 5 < 10.</p><ul><li>Alpha</li><li>Beta</li></ul> yields four lines — 'Weekly Report', 'Tom & Jerry scored 5 < 10.', 'Alpha', 'Beta' — with the entity decoded and each block element on its own line, verified exactly in tests.
Frequently Asked Questions
What exactly gets removed?
Every HTML tag, plus the entire contents of <script> and <style> elements and all HTML comments — none of that is readable text. What remains is the visible text content with HTML entities decoded back to their characters.
Which entities are decoded?
The common named entities (&, <, >, ", ', ) and any numeric entity, decimal (A) or hexadecimal (B). Unknown entities are left as-is rather than guessed at, so you can spot them in the output.
How are line breaks decided?
Closing tags of block elements — paragraphs, divs, headings, list items, table cells, and similar — plus <br> and <hr> become line breaks, so the text keeps the document's structure. Inline tags like <b> or <a> are removed without adding breaks. You can toggle this off to get everything as one flowing paragraph.
Can it handle an entire web page?
Yes, within reason — paste the full HTML source and you will get the article text minus navigation, scripts, and styles. For heavy JavaScript-rendered pages, the raw HTML may not contain the visible text at all; this tool works on the markup you give it, not on a rendered page.
Does my HTML leave the browser?
No. Stripping and entity decoding run entirely client-side, so private emails or internal documents never leave the page.