HTML to Markdown
Convert HTML to Markdown — instantly, in your browser
Paste HTML on the left, copy clean GitHub Flavored Markdown on the right. Supports tables, task lists, fenced code with syntax hints, images, and links. Nothing leaves your device.
HTML input494 chars
Markdown output 0 chars
How to convert HTML to Markdown
- Paste your HTML in the left pane, or click Paste HTML to read rich text directly from your clipboard.
- The converter renders the Markdown output on the right in real time.
- Copy or download the result as a
.mdfile.
You can also import a .html file from disk by clicking Import .html.
What gets converted
| HTML | Markdown |
|---|---|
<h1>…</h1> | # Heading |
<strong>…</strong> / <b> | **bold** |
<em>…</em> / <i> | _italic_ |
<a href="url">text</a> | [text](url) |
<ul><li>…</li></ul> | - bullet |
<ol><li>…</li></ol> | 1. ordered |
<pre><code class="language-ts">… | ```ts … |
<table>… (GFM) | Markdown table with alignment |
<blockquote>…</blockquote> | > quote |
<img src="…" alt="…"> |  |
<del>…</del> / <s> | ~~strikethrough~~ |
<input type="checkbox" checked> | - [x] task item |
Why convert HTML to Markdown?
There are three common reasons people land on this page:
- Migrating a CMS — moving from WordPress, Ghost, or HubSpot to a Markdown-based site (Next.js, Astro, Hugo).
- Cleaning up rich text — turning an exported Google Doc, Notion page, or Word document into something a static site generator can consume.
- Documentation pipelines — feeding HTML scraped from a help center into a docs framework like Docusaurus or Nextra.
Markdown is portable, easy to diff, and lives happily inside git — that's why almost every modern documentation pipeline standardizes on it.
Privacy & safety
- All processing happens in your browser using turndown with the GFM plugin.
- We don't upload, store, log, or train on your HTML.
- The output is plain Markdown — no scripts, no inline styles, no surprises.
Want a deeper look at the syntax you're about to generate? Visit the Markdown guide or the Markdown cheat sheet.
Frequently asked questions
- We use turndown — a battle-tested, open-source HTML-to-Markdown library — together with the GitHub Flavored Markdown plugin. The HTML is parsed in your browser, mapped to Markdown equivalents (headings, lists, links, tables, code blocks), and returned as clean text.
- No. The conversion runs entirely in your browser. We never send your HTML to our servers, which makes the tool safe for confidential documents.
- Yes. If your HTML uses a `<pre><code class="language-xxx">` pattern (the convention used by Prism, highlight.js, and most CMS systems), we preserve the language hint in the Markdown fence.
- All supported via the GFM plugin. Pasted HTML tables become Markdown tables, ~~strikethrough~~ HTML becomes Markdown strikethrough, and HTML `<input type="checkbox">` elements become Markdown task list items.
- This page is designed for single-document workflows. For batch conversion, you can install turndown as an npm package and pipe documents through Node.js — the conversion logic is identical.
- Yes. Use the Paste HTML button to capture the rich HTML on your clipboard. Some tools include vendor-specific markup that we strip silently — you'll see clean Markdown in the output.