HTML to Markdown

Turn HTML or rich pasted text into clean Markdown - headings, lists, links, code and tables all preserved. Everything runs in your browser.

From HTML to clean Markdown

Markdown is the plain-text format behind README files, GitHub issues, static site content and most note apps. This converter reverses the usual direction: paste HTML, get Markdown. It is built on Turndown, a well-tested library, and runs entirely in your browser, so nothing you paste is uploaded.

Two input modes cover both common cases. Raw HTML is for markup you already have as text. Paste formatted gives you a rich-text box: copy a chunk of a web page or a formatted document, paste it in, and the underlying HTML is read and converted - no need to view source first.

Tables, headings and code

Turndown handles headings, emphasis, links, images, blockquotes and lists out of the box. Tables are the one gap in most converters, so this tool adds a dedicated rule: the first table row becomes the header, a divider line is generated to match the column count, and every cell is escaped so a literal pipe inside a cell will not split the row. You control three style choices: ATX or Setext headings, the bullet character for unordered lists, and whether code blocks are fenced with backticks or indented.

Tips for a clean result

Rich text pasted from word processors often carries invisible wrapper markup. If the output looks noisy, paste into the Raw HTML box instead and trim the surrounding tags first. For the opposite conversion, render Markdown back to HTML with the Markdown to HTML tool. Building tables by hand is easier with the Markdown table generator, and to tidy the source HTML first, use the HTML formatter.

Frequently asked questions

How do I convert HTML to Markdown?
Paste your raw HTML into the box, or switch to the Paste formatted tab and paste rich text copied from a web page or document. The Markdown appears instantly on the right, ready to copy or download as a .md file.
Which HTML elements are supported?
Headings, paragraphs, bold and italic, links, images, ordered and unordered lists, blockquotes, inline code and code blocks all convert cleanly. Tables are supported too, via a built-in rule that turns rows into pipe-separated Markdown with a header separator.
Can I choose ATX or Setext headings?
Yes. ATX headings use hash marks (## Title) and work at every level, which is why they are the default. Setext headings underline the text with equals signs or hyphens but only support two levels. You can switch between them, along with the bullet marker and code block style.
Does it handle tables?
Yes. Standard Markdown-to-HTML converters skip tables, so this tool adds its own rule: the first row becomes the header, a separator line is generated automatically, and every cell is escaped so a stray pipe character does not break the layout.
Is my content uploaded anywhere?
No. The conversion runs entirely in your browser with the Turndown library. Nothing you paste is sent to a server, so private documents stay private.