Overview
Converts HTML into clean, readable plain text. Paste a web page, a newsletter or an HTML email and get the words back with paragraphs, list bullets, numbered steps and table rows intact, while scripts, styles and markup are removed. Link URLs can stay inline, move to numbered footnotes or be dropped. Conversion happens in your browser.
How It Works
Paste HTML into the left box or open an .html, .htm or .eml file and the plain text appears on the right as you type. Choose how links are written, whether headings stay as written, become UPPERCASE or get an underline of = or - characters, and whether table cells are joined with a pipe or a tab. Pick a bullet character, set a line width for word wrap, or turn off image alt text, then copy the result or download it as a .txt file.
Step-by-Step Usage Guide
- Paste the HTML source, or open a saved .html or .eml file.
- Choose how links appear: inline after the text, as numbered footnotes, or not at all.
- Pick the heading style, table cell separator and bullet character.
- Set a wrap width such as 72 if the text is going into an email or a commit message.
- Copy the plain text or download it as page.txt.
Technical Specifications & Standards
The converter does not hand your markup to the browser to render. A small tokenizer reads the HTML as text, so a pasted page cannot run its scripts, load tracking pixels or fetch fonts. The content of script, style, noscript, template and head elements is skipped entirely, along with comments and doctype lines. Block elements such as p, h1 to h6, blockquote, pre and table are separated by a blank line, while div, li and tr start a new line, and a br tag becomes a single line break. Runs of spaces, tabs and newlines collapse to one space everywhere except inside pre, where indentation and line breaks are kept exactly and word wrap never touches them. Nested lists are indented two spaces per level, ordered lists honour the start attribute, and blockquotes are prefixed with > like an email reply. Named entities such as , —, … and € are decoded together with decimal and hex character references. At most two blank lines are kept in a row, so the output stays compact.
Targeted Use Cases
- Creating the plain-text part of a multipart HTML email newsletter.
- Pulling the readable article out of a saved web page for notes or quoting.
- Cleaning HTML exported from a CMS before pasting it into a ticket or chat.
- Preparing page text for word counts, translation or a text-to-speech reader.
- Turning an HTML table into tab-separated rows that paste into a spreadsheet.
Notes & Gotchas
- Use footnote links for emails so long URLs do not break up sentences.
- Pick tab-separated cells when you plan to paste table rows into Excel or Google Sheets.
- Wrap at 72 to 78 characters for plain-text email, and leave wrap off for documents that reflow.
- Check code samples after conversion; they keep their spacing only when they were inside a pre element.
Frequently Asked Questions
How do I strip HTML tags but keep the line breaks?
Paste the HTML here and the converter turns paragraphs into blank-line breaks, br tags into single newlines and list items into bullets, instead of running all the text together the way a plain tag-stripping regex does.
Are scripts in the pasted HTML executed?
No. The HTML is read by a text tokenizer rather than rendered, so script and style blocks are discarded as text and nothing in the page can run, load images or make network requests.
What happens to links?
By default each link is written as its text followed by the URL in brackets. Footnotes mode writes text[1] and lists the URLs at the end, and text-only mode drops URLs. Links to #anchors and javascript: URLs are never listed.
Does it decode entities like and &?
Yes. Common named entities, including accented letters, currency symbols, dashes and quotes, are decoded along with numeric references such as © and 😀. Unknown entity names are left exactly as written.
How are HTML tables converted?
Each table row becomes one line, with cells joined by a pipe surrounded by spaces or by a tab character. Header and data cells are treated the same, so the first line is usually the column headings.
Related tools
- HTML to Markdown Converter - Convert HTML into clean GitHub-flavored Markdown - headings, links, images, lists, code blocks, and tables - with Markdown-significant characters safely escaped.
- HTML Entity Encoder & Decoder - Encode special characters to named or numeric HTML entities and decode encoded HTML entities back to raw text.
- HTML Table Extractor (→ CSV / JSON / Markdown) - Paste HTML and pull every table out as clean CSV, JSON, or a Markdown table - header detection, captions, and multi-table picking included.
- URL Extractor - Pull every URL out of any text — logs, markdown, emails — or list unique hosts only.
- EPUB Reader & EPUB to Text / HTML / Markdown - Open a DRM-free EPUB in your browser, browse chapters from its table of contents, and export the whole book as plain text, Markdown or one self-contained HTML file. Scripts are stripped and nothing is uploaded.
- Multi-Base Text ↔ Hex ↔ Binary Converter - Live bi-directional conversion between plain text and hexadecimal, binary, decimal ASCII codes, octal, and Base64 — encode or decode with optional byte separators.