HTML to Markdown Converter

Convert HTML to clean Markdown instantly. Supports tables, code blocks, lists, and more. Paste HTML, get Markdown. Free and private.

Converter

Markdown output will appear here

How It Works

  1. Paste your HTML

    Copy any HTML snippet or full document and paste it into the left input panel. You can also click 'Load Sample' to see the converter in action with a pre-built example.

  2. Review the Markdown output

    The converted Markdown appears instantly in the right panel. Headings, tables, lists, code blocks, and links are all rendered using clean GFM syntax.

  3. Copy or download

    Use the 'Copy Markdown' button to copy the result to your clipboard, or click 'Download .md' to save it as a Markdown file ready to commit or open in any editor.

Frequently Asked Questions

Why Convert HTML to Markdown?

HTML is the language of the web, but it is verbose and hard to read or edit by hand. Markdown was designed as a human-friendly alternative — easier to write, faster to read, and trivially diffable in version control. Converting HTML to Markdown lets you move content from the web into documentation sites, wikis, README files, and note-taking apps without manually reformatting every paragraph.

Common scenarios include migrating a WordPress or Confluence article into a static site generator like Next.js or Hugo, copying a web page into Obsidian or Notion, or converting legacy HTML documentation into a GitHub-hosted Markdown wiki.

How the Conversion Works

This tool uses Turndown, a battle-tested JavaScript library that walks the HTML DOM tree and maps each node to its Markdown equivalent. Custom rules handle edge cases such as GFM pipe tables, fenced code blocks with language tags, task-list checkboxes, and strikethrough text. The converter is configured for maximum GFM compatibility so the output works on GitHub, GitLab, and any standard Markdown renderer.

Turndown operates entirely in-memory on the parsed HTML string — it does not make any network requests, does not execute scripts, and does not render iframes or external resources.

Supported HTML Elements

  • Block elements: headings, paragraphs, blockquotes, pre/code, ordered and unordered lists, tables, horizontal rules
  • Inline elements: strong, em, del/strike, code, a (links), img (images)
  • Tables: thead/tbody with th and td, converted to GFM pipe tables
  • Code blocks: pre + code pairs with class="language-*" preserved as fenced blocks
  • Task lists: li + input[type=checkbox] converted to - [x] / - [ ] syntax

Tips for Clean Output

For the cleanest Markdown output, paste only the content HTML rather than the full page. Avoid HTML that mixes layout divs with content — the converter will ignore non-semantic wrappers but may introduce blank lines around them. If your source HTML uses inline styles for bold or italic (e.g. style="font-weight:bold" rather than <strong>), those styles will not be converted, as Turndown works on semantic structure rather than computed styles.

Download as .md File

Once you are satisfied with the output, the Download .md button saves the result as a .md file named converted.md. You can rename it and drop it straight into a repository, a documentation folder, or a notes vault. The download uses the text/markdown MIME type for maximum compatibility with apps that handle Markdown files.