Search tools

Find a tool by name or what it does.

HTML to Markdown

Convert HTML into clean Markdown live as you type, with control over heading, bullet, and code styles, right in your browser.

Converted to Markdown live as you type. Nothing leaves your browser.

Heading style

Bullet marker

Code blocks

Markdown

Scripts and styles are removed, and unsupported or unusual tags are dropped to their text.

How to convert HTML to Markdown online

  1. Paste your HTML

    Type or paste HTML from a web page, an email, or a CMS field into the input. The markdown is generated live as you type.

  2. Choose the markdown style

    Pick the heading, bullet, and code block styles that match your target so the output drops in without cleanup.

  3. Copy the markdown

    Click Copy Markdown and paste the result into your notes, documentation, or static site.

Why use this tool

Heading, bullet, and code styles

Switch headings between ATX hashes and Setext underlines, choose the bullet marker (-, *, or +), and output code as fenced or indented blocks to match the target you are pasting into.

Handles messy real-world HTML

Paste output from a CMS, an email, or a scraped page. The converter tolerates unclosed tags and stray wrappers, and quietly drops anything it cannot map.

Tables and links preserved

Links keep their text and destination, and tables with a header row become pipe tables. Headings, lists, blockquotes, and code blocks carry over too.

Instant, live output

Markdown appears as you type, with a short pause on large input so it stays responsive. There is no convert button to hunt for.

Scripts and styles stripped

Script and style blocks are removed before conversion, so pasted page source never drags CSS or code into your markdown.

Nothing leaves your browser

The conversion runs on your device. Pasted pages, private emails, and internal docs are never uploaded, stored, or logged.

About this tool

This converter turns HTML into Markdown entirely in your browser, live as you type. Headings, paragraphs, bold and italic text, links, images, blockquotes, ordered and unordered lists, and code blocks all carry across, and tables with a header row become pipe tables. You control the details: headings can use the ATX hash style or Setext underlines, bullet lists can use a dash, an asterisk, or a plus, and code can be output as fenced or indented blocks.

It is built for pulling content out of the web and into plain text. Copy a rendered article, an email, or the output of a rich text field, paste the HTML, and get markdown you can drop into documentation, a notes app, or a static site. It is also useful for migrating rich text into a markdown-based system, where the source is HTML but the destination expects markdown. If you need the opposite direction, the markdown to html converter does the reverse.

Real-world HTML is messy, so the converter is deliberately tolerant. Script and style blocks are removed, and unusual or unsupported tags are dropped to their text content rather than breaking the output, so the result stays clean even from a scraped page. Styling such as colours, fonts, and inline CSS does not survive, because markdown has nowhere to put it. Everything runs on your device, so nothing you paste is uploaded. Once you have the markdown, the word counter can measure a draft, find and replace can clear out repeated boilerplate, and slugify turns a heading into a URL slug.

Frequently asked questions

What does the converter keep from my HTML?
Headings, paragraphs, bold and italic text, links, images, blockquotes, ordered and unordered lists, and code blocks all convert to their markdown equivalents. Tables with a header row become pipe tables. The result follows GitHub-flavoured markdown.
What gets dropped or changed?
Script and style blocks are removed entirely. Visual styling such as colours, fonts, widths, and inline CSS does not survive, because markdown has no way to express it. Unusual or unsupported tags are unwrapped to their text content rather than left in place.
What do the heading, bullet, and code options do?
Heading style switches between ATX, which prefixes headings with # marks, and Setext, which underlines the top two levels. Bullet marker sets whether unordered lists use -, *, or +. Code blocks can be fenced with backticks or indented by four spaces. Each change re-runs the conversion instantly.
Does it handle tables?
Yes. An HTML table with a header row, using either header cells or a table head, converts to a markdown pipe table with a separator row. Very complex tables with merged or spanning cells may not translate cleanly, since markdown tables are simple grids.
Is my HTML uploaded anywhere?
No. The conversion runs entirely in your browser. Your text never leaves your device, is never sent to a server, and is not stored or logged.
Is there a size limit?
No fixed limit. The tool converts as you type with a short pause, and large documents simply take a moment longer depending on your device. Both the input and the output areas scroll instead of growing without bound.

Related tools