HTML to Plain Text
Strip all HTML tags and get clean readable text.
Was this tool helpful?
Thanks for the feedback!
HTML to Plain Text strips the tags out of HTML code and returns only the readable words. Use it to pull the text from an email template, a copied web page source, a CMS export or a product description, so you can count words, proofread or reuse the content somewhere that doesn't accept HTML.
What is removed and what is kept
<script>and<style>blocks are removed together with their contents, so no JavaScript or CSS ends up in the text.- All other tags disappear, while the text inside them is kept. Link URLs and image alt text are dropped; only the visible link text remains.
- HTML comments are removed.
- Entities are decoded:
&becomes &,₹becomes ₹, and becomes a non-breaking space. - Runs of three or more line breaks are reduced to one blank line, and the result is trimmed at both ends.
Example
This formatted snippet from a college fees page:
<h2>Fees</h2> <p>Tuition: ₹45,000 per year</p> <p>Hostel & mess: extra</p> <script>track()</script>
becomes, after pressing Strip HTML:
Fees Tuition: ₹45,000 per year Hostel & mess: extra
Line breaks come from the source, not the tags
This is the behaviour most likely to surprise you. The tool doesn't add a line break for a paragraph, heading, list item or <br>; it keeps only the line breaks already present in the code. The example above worked because each element sat on its own line. Minified HTML behaves differently:
| Input | Output |
|---|---|
<p>Tuition</p><p>Hostel</p> | TuitionHostel |
Line one<br>Line two | Line oneLine two |
<ul><li>Pen</li><li>Notebook</li></ul> | PenNotebook |
For HTML written on a single line, run it through the HTML Formatter first, which places every tag and text run on its own line. Strip the tags here, then use Remove Extra Spaces to delete the indentation the formatter added.
Practical uses and limits
- Word counts for web copy: paste the extracted text into the Word Counter to count the words readers actually see, without tags inflating the total.
- Plain-text email versions: many email platforms let you send a text-only alternative alongside the HTML design.
- Cleaning pasted content: descriptions copied from one store or CMS into another often carry unwanted markup.
Tables lose their structure, so cells run together as text; use a table-to-CSV converter if you need the data in rows and columns. Hidden elements are included too, because the tool doesn't know which parts CSS would hide on the page. The markup is read into a separate, inactive document, so scripts and event handlers in it never run and remote images are not loaded.