Text toolsHTML to text

HTML to text

Parse HTML safely and return readable text while preserving headings, paragraphs, list rows, and links where requested.

Ready to clean
Your text never leaves this device
0 characters · 0 words
0 characters · 0 words
A focused cleanup

How to use html to text

Paste markup, get the readable copy: scripts and styles discarded, headings and list rows kept on their own lines, and link URLs appended in parentheses when you ask for them.

  1. 1
    Paste the HTML source

    A fragment or a whole page — view-source output, an email template, CMS markup. The parser is the browser’s own, so it copes with real-world HTML: unclosed tags, attributes, entities, and all.

  2. 2
    Choose whether links keep their URLs

    Include link URLs, off by default, appends each link’s address in parentheses after its text — "Read the docs (https://…)". Leave it off for clean prose; turn it on when the destinations are the point, as when auditing an email’s links.

  3. 3
    Clean and check the structure

    Select Clean text. Headings, paragraphs, list items, and table rows each sit on their own line with at most one blank line between blocks. What was script, style, or hidden markup is simply absent.

When this tool is useful

Extracting article copy
Reviewing email HTML
Creating plain-text fallbacks

A real parser, not a regular expression

The markup goes through the browser’s own HTML parser — the same engine that renders pages — so malformed HTML that would defeat a regular expression is handled the way a browser would handle it. Script, style, and noscript elements are removed wholesale, contents included, which is what keeps JavaScript and CSS rules out of your text.

Structure is preserved by line: every paragraph, heading, div, list item, table row, and line break contributes a newline, and runs of three or more newlines then collapse to one blank line. The result keeps an article’s shape — title, paragraphs, list rows — without a trace of its markup.

Nothing is fetched and nothing executes: the document is parsed inertly in memory, scripts are stripped before text extraction, and no images or tracking pixels are requested. That makes it a reasonable way to read what a suspicious email actually says — and, with link URLs on, where its links actually point — without rendering it.

Good to know

HTML to text questions

Same family, different centre of gravity. Remove formatting is tuned for pasted rich text with residue; HTML to text is for actual markup — it drops script and style blocks entirely and can append every link’s URL. For raw source, use this one.