HTML to Markdown Converter
NewConvert HTML to Markdown online: headings, lists, links, images, code and tables become clean GFM. Pick ATX or Setext headings. Free and private.
How to use HTML to Markdown
- 1Paste HTML or open an .html file.
- 2Pick the heading style, bullet, code fence and link style you prefer.
- 3Copy the Markdown or download it as a .md file.
What makes it better
- Tables become GFM pipe tables
- ATX (#) or Setext (underlined) headings
- Inline links or numbered reference links
- Scripts, styles and head content are ignored
About HTML to Markdown
Paste HTML from a web page, CMS or email and get readable Markdown back. Headings, emphasis, links, images, nested lists, quotes, code blocks and tables are converted, while scripts and styles are ignored. You can choose heading style, bullet character, code fences and link style.
Common uses
- Move content from a CMS or old web page into a Markdown-based docs site.
- Convert an HTML newsletter or help article into a README.
- Clean up copied page markup before putting it into notes.
- Turn exported HTML tables into Markdown tables for GitHub.
Example
Input
<h1>Weekly update</h1><p>Shipped the <strong>new editor</strong> and fixed three bugs.</p><ul><li>Faster search</li><li>Dark mode</li></ul><p>Read the <a href="https://example.com/notes">release notes</a>.</p>
Result
# Weekly update Shipped the **new editor** and fixed three bugs. - Faster search - Dark mode Read the [release notes](https://example.com/notes).
Good to know
- Markdown cannot express everything in HTML. Colors, classes, inline styles and layout are dropped, and unknown tags keep only their text.
- Setext underlines exist only for heading levels 1 and 2; deeper headings always use # even in Setext mode.
- Table cells are flattened to single lines, and the first row is treated as the header.
HTML to Markdown FAQ
How do I convert HTML to Markdown?
Paste your HTML, or open an .html file, and the Markdown appears immediately. Copy it or download it as a .md file.
What is the difference between ATX and Setext headings?
ATX headings start with # characters, for example “## Title”. Setext headings underline the text with === (level 1) or --- (level 2). ATX works for all six levels.
Are tables converted?
Yes. HTML tables become GitHub-style pipe tables with a header separator row. Merged cells are not supported and nested tables are flattened to text.
What happens to scripts, styles and comments?
Script, style, head and similar elements are ignored, and the converter never runs them. Only visible content ends up in the Markdown.
Can I keep images?
Yes, by default images become . Turn off “Keep images” to keep only the alt text.