HTML to Text
Paste HTML from a web page, an email template or a CMS and get the text a reader would see, with its paragraphs, lists and tables laid out readably.
Your text stays in this browser tab. Nothing is uploaded, saved or logged.
How the HTML to Text works
The tool lays the text out the way a browser would. Line breaks and indentation in the source collapse into single spaces, block elements such as paragraphs and headings start new lines with a blank line between them, and <br> becomes a line break. Inline tags such as <b>, <em> and <a> simply disappear and leave their text, so “un<b>believ</b>able” stays one word.
List items get bullets or numbers, with nested lists indented. Table cells are separated by tabs and rows by line breaks, which pastes neatly into a spreadsheet. The contents of <pre> are kept exactly as written. Scripts, styles, comments and the document head are dropped, and entities such as &, © and 🎉 are decoded. Links can keep their address after the text, and images can contribute their alt text.
This is a text extractor, not a browser. It does not apply CSS, so text hidden with display:none is still extracted, and heavily broken markup is read leniently. Nothing in the HTML is run, rendered or loaded, so it is safe to paste HTML you do not trust.
How to use it
- Paste the HTML source.
- Choose whether links should show their address and whether images should contribute their alt text.
- Copy the plain text or download it.
Example
Tags and the script are removed, the list gets bullets and the link keeps its address.
Input
<h1>Weekly update</h1> <p>We shipped <b>three</b> things this week, see <a href="https://example.com/news">the news page</a>.</p> <ul> <li>Faster search</li> <li>Dark mode</li> </ul> <script>track()</script>
Result
Weekly update We shipped three things this week, see the news page (https://example.com/news). • Faster search • Dark mode
Frequently asked questions
Does it remove scripts and styles?
Yes. The contents of <script>, <style>, <head>, <noscript>, <template> and <svg> elements, and all comments, are dropped, so only the text a reader sees remains.
Why is hidden text still in the result?
The tool reads the markup but does not apply CSS, so it cannot know that a stylesheet hides an element. Delete such elements from the HTML before converting if you do not want their text.
How are tables converted?
Cells in a row are separated by a tab and each row is on its own line. Pasted into a spreadsheet, the text lands in separate columns.
Is it safe to paste HTML from an unknown source?
Yes. The HTML is only processed as text. Nothing is executed, displayed or fetched, and the result is plain text.