HTML to Markdown
Convert HTML to Markdown in your browser. Powered by turndown with GitHub-flavored table support. Useful for migrating CMS content to static Markdown files.
HTML in, Markdown out
Markdown is denser than HTML — block tags collapse into a few characters of syntax, often shrinking the source size by 2-5×.
<h1>Hi</h1>
# Hi
What you'll use this for
Markdown is the lingua franca of modern documentation. Migrate, archive, or normalize HTML into a clean, diffable text format.
CMS migration
Bulk-convert WordPress, Drupal or Ghost post bodies into Markdown for a static-site rebuild.
README export
Pull a rendered docs page back to Markdown when the original source is lost.
Archiving
Snapshot articles as portable, diffable plain text — perfect for version control.
Doc generation
Convert generated HTML output back to Markdown for downstream pipelines and editors.
How to convert HTML to Markdown
Paste your HTML
Drop the raw HTML source into the left editor — a full document or just a fragment of body content.
Pick a style
Choose your preferred heading, bullet and code-block conventions to match your project's Markdown style guide.
Click Convert
Or leave auto-convert on for live updates. Runs locally — no upload.
Copy or download
Save as output.md, or jump to Markdown to HTML for a round-trip sanity check.
Frequently asked questions
This tool uses turndown, the most widely-deployed HTML-to-Markdown converter on the web. It handles headings, lists, links, images, code blocks and GFM tables.
Yes — HTML <table> elements round-trip into GitHub-flavored Markdown pipe tables, preserving column alignment where defined.
Yes. No signup, no limits, no ads. Runs entirely in your browser.
Yes — use Markdown to HTML to render Markdown back into HTML via marked.
Yes. Output is CommonMark with GFM extensions (tables, strikethrough, task lists). Paste anywhere GFM is accepted — GitHub, GitLab, Bitbucket, most static-site generators.
About HTML to Markdown conversion
Markdown is plain-text formatting that compiles into HTML. Going the other way — collapsing HTML back into Markdown — is useful for content migrations, archiving, and keeping a single canonical source for documentation.
The turndown engine
- Walks the DOM and emits Markdown for every recognized block and inline element.
- Supports custom rules — useful when you want to keep certain HTML tags intact.
- This tool enables the GFM table plugin so HTML tables become pipe tables.
Style options
- Heading style — ATX (
#) is the modern default; Setext (===underline) is supported for legacy compatibility. - Bullet marker —
-,*or+— same Markdown semantics, different aesthetics. - Code blocks — fenced (triple backtick) is preferred; indented (4-space) is legacy CommonMark.
What doesn't round-trip
Inline styles, custom attributes, and HTML elements without a Markdown equivalent are dropped or simplified. Run the output back through Markdown to HTML to see exactly what survives.