HTML to Text
Turn HTML into clean plain text, keeping paragraphs, bullets, tables and links
Your files are processed in your browser. They are never uploaded, and nothing is stored after you close the page. How we handle privacy
Runs entirely in your browser. Nothing you type or upload is sent to us or stored.
Results are for general guidance. Please check anything important before relying on it. Terms of use
How to Use
- Paste your HTML into the HTML box, or drop an .html file (a saved web page or an email template) on the upload box under it.
- Pick Keep layout to get paragraphs, headings, bullets and table rows, or Strip tags only to remove the tags and nothing else.
- Choose the options you want: show link addresses as text (url), leave out scripts, styles and menus, and separate table cells with tabs or " | ".
- The plain text appears on the right as you paste, with the word count above it.
- Click Copy text, or Download .txt to save it as a file.
What the HTML to text converter does
This HTML to text converter takes web page code and gives you the readable words, laid out the way a person would type them. Paste the source of a newsletter, a blog post from your CMS or a page you saved from the browser, and you get clean plain text you can put into an email, a Word file, a WhatsApp message or an SMS template.
It also decodes HTML entities. & becomes &, becomes a normal space and ₹ becomes โน, so you don't end up with codes in your text.
How each part of the page is written out
In Keep layout mode the converter walks through the page one element at a time and writes each kind in a fixed way:
| In the HTML | In the text |
|---|---|
| Paragraphs, headings, quotes | Their own block, with a blank line before and after |
<br> | A line break |
| Bulleted list items | "- " at the start of the line, indented two spaces per level when lists are nested |
| Numbered list items | "1. ", "2. " and so on, following the list's start number |
| Table rows | One line per row, cells split by a tab or " | " |
| Layout tables (the ones emails use to position everything) | Read cell by cell as ordinary blocks, so a newsletter doesn't end up on one long line |
| Links | link text (address), when the option is on |
<pre> code blocks | Copied with their spacing untouched |
| Bold, italics, spans | Plain words, kept on the same line |
Extra spaces and line breaks in the source code are squeezed into single spaces, just as a browser does when it shows the page. Hidden elements are skipped.
A quick example
<p>Upload on <a href="https://example.in">our portal</a>.</p>
comes out as:
- PAN card
- Address proof
Upload on our portal (https://example.in).
Keep layout or strip tags only?
Use Keep layout for almost everything. It gives you text that reads well on its own. Strip tags only is for when you want the source exactly as it was, minus the tags: line breaks stay wherever they were in the code, and two paragraphs written on one line will run together. People use it to pull text out of HTML that was already laid out by hand, or to compare two versions of a template.
Is it safe to paste any HTML?
Yes. The code is read with the browser's DOMParser, which builds a separate, inactive copy of the page. Scripts in it never run, images and trackers in it never load, and nothing is added to the page you're on. The conversion happens on your device, so the HTML isn't sent anywhere. Turn on "Leave out scripts, styles and menus" (it's on by default) to drop JavaScript, CSS and <nav> menus from the result.
Tips
- Choose tab-separated tables if you plan to paste the result into Excel or Google Sheets. Each cell lands in its own column.
- Turn link addresses off when the text is going into an SMS or a print-out, where long URLs only add clutter.
- The word count ignores bullets and separators, so it's a fair count for an article you're checking against a word limit.
- For a whole web page, use your browser's "Save page as" (HTML only) and drop the file here instead of copying the source by hand.