HTML to Text Converter: Free Online Tool
FREE TOOL · NO SIGN-UP
This HTML to text converter strips the tags out of any HTML and gives you clean, readable plain text. It removes scripts, styles and hidden template code, keeps paragraph and line breaks, turns list items into bullet points, decodes entities like & and can show each link’s URL in brackets after its text. Use it for plain-text emails, content migration, word counts, AI or translation input, or just to read the text inside a messy page source. It runs in your browser, and the HTML is never executed or uploaded.
How to Use the HTML to Text Converter
Paste HTML, choose two options, copy the text.
Step 1: Enter or paste your input
Paste HTML into the box. It can be a full page source (from View Source), a fragment copied from a CMS code editor, an email template or an export from another system. Full documents and snippets both work. Clear empties the box.
Step 2: Choose your options
- Show link URLs in brackets (on by default): adds the link address after the link text, like “Read the guide [https://example.com/guide]”. Links to page anchors (
#section) andjavascript:links are skipped, and so are links whose text is already the URL. - Collapse blank lines (on by default): reduces long gaps between blocks to a single blank line.
Untick Show link URLs if you just want the readable words.
Step 3: Copy, download or apply the result
The plain text appears as you type, with input and output character counts so you can see how much markup was removed. Click Copy or Download to save it as a text file. Paste it into your email platform’s plain-text version, a document, a word counter or wherever you need clean text.
What HTML-to-Text Conversion Removes
An HTML to text converter removes all markup (tags, attributes and code) and keeps only the visible text content, arranged in a readable way.
This tool removes:
- Every tag, such as
<div>,<span>,<strong>and<a>, along with their attributes, classes and inline styles. - Script blocks (
<script>), including JavaScript and JSON-LD structured data. - Style blocks (
<style>), so CSS rules do not end up in your text. <noscript>and<template>content, which is not normally visible.- The
<head>section, including the title, meta tags and links to stylesheets. - HTML comments.
It also tidies whitespace: runs of spaces and tabs from code indentation become single spaces, and each line is trimmed.
Images are removed without leaving their alt text. If alt text matters, for example for accessibility reviews, check images separately.
The HTML is parsed safely with the browser’s built-in parser and is never run, so scripts in the pasted code cannot do anything.
Keeping Line Breaks, Lists and Link URLs
Stripping tags naively runs everything together into one block. This converter keeps the structure readable:
- Block elements such as paragraphs, headings, divs, sections, articles, blockquotes, tables, table rows and lists start on new lines.
<br>tags become line breaks.- List items get a bullet (•) at the start, so
<ul>and<ol>lists read like lists. - Links keep their text and, if the option is on, show the URL in square brackets.
Here is a quick example. This HTML:
<h2>Plans</h2><p>Pick a plan below.</p><ul><li>Basic</li><li>Pro</li></ul><p>See <a href="https://example.com/pricing">pricing</a>.</p>
becomes:
Plans
Pick a plan below.
• Basic
• Pro
See pricing [https://example.com/pricing].
Table rows go on separate lines, but cells inside a row are not separated by the converter, so cells may run together if the source has no spaces between them. Ordered lists also get bullets rather than numbers. Add numbers afterwards with the Line Numbering Tool if you need them.
Decoding HTML Entities Correctly
HTML uses entities to show characters that have special meaning in code or are hard to type. A plain text version should show the real characters, not the codes.
| Entity | Becomes |
|---|---|
& | & |
< and > | < and > |
" and ' | ” and ‘ |
| a space (non-breaking) |
© | © |
€ | € |
’ | ’ |
The converter decodes all named and numeric entities automatically, because it uses the browser’s own HTML parser. So “Fish & Chips” becomes “Fish & Chips”.
One thing to watch: becomes a non-breaking space character, which looks like a normal space but can confuse find and replace or matching. Run the result through the Extra Spaces Remover to convert them to regular spaces.
If you need the opposite, turning characters into entities for safe use in HTML, use the HTML Entity Encoder Decoder.
Plain-Text Emails and Content Migration
Plain-text emails. Most email platforms send a plain-text version alongside the HTML version. Some clients, smartwatches and users who prefer text read only that version, and a clean plain-text part is a common recommendation for deliverability. Paste your HTML email template here, keep Show link URLs on so readers can still reach your links, then paste the result into your platform’s plain-text editor and tidy it.
Content migration. Moving content between systems often means stripping old formatting, page builder markup and inline styles. Converting to plain text first gives you a clean base to reformat in the new CMS.
Analysis. Text without markup is what you need for word counts, readability scores, keyword density checks and AI or translation tools. Paste the result into the Word Counter or Keyword Density Checker.
Key Features of Our HTML to Text Converter
- Free with no signup.
- Removes tags, scripts, styles, head, noscript and templates.
- Keeps structure: paragraphs, headings, line breaks and bulleted lists.
- Optional link URLs in brackets.
- Decodes all HTML entities.
- Collapses blank lines and extra spaces.
- Safe parsing: HTML is never executed.
- Copy and Download; runs in your browser.
Who Converts HTML to Text
- Email marketers writing plain-text versions of campaigns.
- Content managers migrating posts between CMS platforms.
- SEOs extracting page text for word counts and keyword analysis.
- Developers checking what text a page actually contains.
- Writers and translators working from web page sources.
Pro Tips and Mistakes to Avoid
Checklist of best practices
- Keep link URLs on for emails and documents people will act on.
- Turn link URLs off for word counts and analysis.
- Clean non-breaking spaces afterwards if you will search or match the text.
- Review tables by hand.
Common mistakes and quick fixes
- Table cells run together. Add spaces or use a spreadsheet for tabular data.
- Navigation and footer text included. Copy only the main content HTML, not the full page.
- Relative links like /about. They are shown as written. Add your domain if the text will be read elsewhere.
- Expected numbered lists. List items get bullets. Number them separately.
Get Readable Text From Any Markup
Paste your HTML above to get clean plain text in one step. Count the result with the Word Counter, check markup weight with the Code to Text Ratio Checker, and tidy code with the HTML Beautifier. See every free tool in the FHSEO Hub tools directory.
