HTML to Text Converter: Remove HTML Tags & Get Plain Text
HTML to text converter online: strip HTML tags from web pages, emails, or documents and get clean plain text. Copy or save as TXT.
Updated 2026-08-16
Related Tools
HTML to Markdown Converter: Web Pages & Articles to MD
Email Extractor: Extract Emails from Text & Files Online
Text Case Converter Online: UPPER, lower & camelCase
Remove Duplicate Lines: Online Sort & Clean Text Tool
Lorem Ipsum Generator: Text, Words & Paragraphs Online
Online Notepad: Text Editor for Mac, Windows & Mobile
Features
- Strip all HTML tags from any web page source, email, or document in one click
- Get clean plain text ready for editing, analysis, or republishing
- Removes script and style blocks: no code leaking into your text
- Keeps paragraph and line breaks so headings, lists, and paragraphs stay readable
- Table cells are separated with tabs, making tables easy to import into spreadsheets
- Decodes HTML entities: & becomes &, becomes a space
- Collapses multiple blank lines into clean, tidy paragraphs
- Copy the result to your clipboard or save it as a TXT file
- Open local .html, .htm, or .txt files directly
- Size ratio in the status bar shows how much smaller the text got
- Instant conversion as you type, with live line and character counts
How to Use
- 1Paste HTML source code into the left panel, or click Open File to load an .html, .htm, or .txt file.
- 2The plain text version appears instantly on the right as you type or paste.
- 3Keep Remove Scripts & Styles on to strip <script> and <style> blocks automatically.
- 4Keep Preserve Breaks on so paragraphs, lists, and headings become new lines instead of one long paragraph.
- 5Keep Decode Entities on so & becomes & and becomes a space; turn it off to keep raw entity codes.
- 6Turn on Collapse Blank Lines to merge multiple empty lines into clean single breaks.
- 7Click Copy to put the extracted text on your clipboard, or Save TXT to download it as a .txt file.
- 8Use the sample buttons to see how the tool handles a full article and a messy page with scripts.
- 9Check the status bar to see input/output line counts and the size ratio of the converted text.
Frequently Asked Questions
Why does an HTML to text converter remove formatting?
Because the tool is built for plain text: it strips <p>, <div>, <a>, <span>, and all other markup from HTML source, leaving only the visible text, so bold, italic, and colors are dropped by design. For search indexing, text analysis, or email bodies, plain text is exactly what you want; to keep formatting, use the HTML to Markdown converter, which preserves bold, italic, headings, and links.
Does it remove script and style content?
Yes. With Remove Scripts & Styles enabled (the default), entire <script>, <style>, <noscript>, and <template> blocks are deleted, including their content. Otherwise, script content would appear as raw JavaScript in the output.
Will it keep my paragraph and heading structure?
With Preserve Breaks enabled, block-level elements (paragraphs, headings, list items, divs, and table rows) are converted into new lines. <br> tags become line breaks and <hr> becomes a paragraph separator, so the text keeps its structure instead of becoming one long block.
What happens to HTML entities like &?
Decode Entities (on by default) converts & to &, < to <, > to >, " to quotes, to a space, and hundreds of named and numeric entities such as © to their real characters. Turn the option off to keep the raw entity codes in the output.
Can I use it on email source code?
Yes. If you view an email's source (usually available in your mail client), you can paste it here to extract the plain text. The tool strips all the table-based layout markup that most marketing emails are built with and keeps the readable message.
What happens to tables?
Table cells are separated with tab characters and rows with line breaks, so tables become clean tab-separated text that pastes directly into Excel or Google Sheets. If you prefer one long paragraph, simply turn off Preserve Breaks.
Does it preserve links?
The tool keeps the link text (the words you see on the page) but removes the <a> tags themselves and their href attributes. If you also need the URLs, try the HTML to Markdown converter, which keeps links as [text](url).
How do I convert HTML to text in Power Automate?
Power Automate offers a built-in HTML to text action in its premium connectors, or you can strip tags with a Compose action and a regex like <[^>]*>. For a one-off page, pasting the source here is faster than building a flow; the output is the same clean text.
How do I convert HTML to text with JavaScript or an npm package?
In the browser, one line does it: new DOMParser().parseFromString(html, 'text/html').body.textContent extracts the visible text. For more control (tables, links, entities), npm packages like html-to-text or turndown handle those cases. This tool applies the same approach locally with zero setup.
Can I open a file instead of pasting?
Yes. Click Open File and choose an .html, .htm, or .txt file from your computer. The file is read locally in your browser and its content is placed into the input panel; nothing is uploaded.
What file format is saved?
Save TXT downloads the extracted text as a plain-text .txt file with UTF-8 encoding, ready to open in any text editor, word processor, or document tool.
Why is my HTML to text conversion almost as long as the original?
The size ratio compares output length to input. If the page is mostly plain text with little markup, the ratio stays near 90–100%: only tags are removed, the words themselves are unchanged, and that is normal. Pages heavy with scripts, styles, and attributes typically drop to 20–40% of their original size, and Collapse Blank Lines tightens leftover whitespace further.
Why do I still see codes like © in the output?
Check that Decode Entities is on: it converts hundreds of named entities (&, <, ") and numeric entities (©, €) to their real characters. Codes that remain are usually malformed or non-standard entities with no defined mapping; the tool keeps them as-is instead of guessing. You can also verify the raw input with the HTML entity encoder to see which codes the page actually contains.
Why is my converted text empty or missing most of the page?
The most common cause is JavaScript-rendered content: single-page apps and lazy-loading pages draw their text with JS at runtime, so the HTML source contains no words to extract. Fix: select all (Ctrl+A) on the rendered page and copy the visible text, then paste that here, or use View Page Source only for pages you know are server-rendered. Content inside iframes must be copied from the iframe itself.
The output still has stray blank lines and spaces; how do I clean it completely?
Turn on Collapse Blank Lines (merges consecutive empty lines into one) and keep Preserve Breaks on; then handle the leftovers in any text editor with find-and-replace: replace two or more consecutive spaces with one, or use a regex like ^\s+$ to drop whitespace-only lines. If the mess comes from the source itself (spaces between every tag), no option can fix what the page shipped; clean the text, not the tool settings.
I pasted new content over the original HTML; can I recover it?
No. This page keeps no history and writes nothing to disk, so once the input is replaced, the old source is gone from the tool. If you opened it from a file, the file itself is untouched: reopen it. If you copied it from a page, re-copy. Going forward, copy the result elsewhere before pasting new input, and use the Open File button when you need a fresh read from disk.