HTML to Markdown Converter
This HTML to Markdown converter maps a page onto Markdown syntax: headings, paragraphs, ordered and unordered lists, links, images, emphasis, inline code, fenced code blocks and blockquotes all translate directly. Tables are deliberately kept as HTML, because the original Markdown specification has no table syntax and flattening one into paragraphs loses the structure entirely — every renderer that matters accepts inline HTML, so the table keeps working. You can choose the bullet character, and whether headings use the hash style or the underlined style. Useful when moving content into a static site, a README, a wiki or any system that stores Markdown rather than HTML.
How it works
Turns a page into Markdown: headings, lists, links, emphasis, blockquotes and code blocks all map across. Tables are kept as HTML, since they are the one structure that has no equivalent in the original Markdown syntax.
Useful for moving content into a static site, a README or a wiki that stores Markdown rather than HTML.
Everything runs in your browser — nothing you paste is sent to a server.
How to convert HTML to Markdown
- Paste your markup into the input on the left.
- Pick the bullet character and heading style your project uses.
- Copy the Markdown, or download it as a
.mdfile.
What maps across
Headings, paragraphs, ordered and unordered lists, links, images, emphasis, strong text, inline code, fenced code blocks, blockquotes and horizontal rules all have direct Markdown equivalents and convert cleanly.
Why tables stay as HTML
The original Markdown specification has no table syntax at all — tables are a GitHub-flavoured extension, and not every renderer supports them. Flattening a table into paragraphs would destroy the relationship between headings and cells, which is the entire content of a table.
Since every Markdown renderer in common use passes inline HTML straight through, keeping the table markup is the
option that preserves the data. The same applies to <sup>, <sub> and
<kbd>, which have no Markdown equivalent either.
Bullets and heading style
Dash, asterisk and plus are all valid list markers — pick whichever your linter expects, since projects often standardise on one. Hash headings work at all six levels; the underlined style only exists for the top two but reads more clearly in the raw file. Both render identically.
Common use cases
- Moving page content into a static site generator that stores Markdown.
- Turning documentation into a README.
- Migrating a wiki from HTML storage to Markdown.
Frequently asked questions
How do I convert HTML to Markdown?
Paste your markup into the left panel. The Markdown appears on the right, ready to copy or download as a .md file.
Why are tables left as HTML?
The original Markdown syntax has no tables. Flattening one into text would destroy its structure, and every renderer in common use accepts inline HTML — so keeping the table markup is the option that preserves the content.
Can I choose the bullet character?
Yes. Dash, asterisk and plus are all valid Markdown; pick whichever matches your project’s style so linters stay quiet.
What is the difference between hash and underlined headings?
Hash headings use # and work at all six levels. The underlined style only exists for the top two levels but reads more clearly in the raw file. Both render identically.
Are code blocks preserved?
Yes. A pre block becomes a fenced code block by default, or an indented one if you prefer the older style.
Is my content uploaded?
No. The conversion runs entirely in your browser.
Related tools
Markdown to HTML Converter
This Markdown to HTML converter renders your document with GitHub extensions on.
Markdown Viewer & Editor
This Markdown viewer renders your document live as you type, in a sandboxed preview.
HTML to Text Converter
This HTML to text converter reduces a page to the words a reader would actually see.