🔄

HTML to Markdown Converter

Convert HTML to clean Markdown — supports headings, links, images, tables, lists, and code.

HTML Input
Markdown Output

About HTML to Markdown Converter

HTML to Markdown Converter transforms raw HTML into clean, readable Markdown syntax — instantly, in your browser. Whether you're migrating a website to a static site generator like Hugo or Jekyll, copying content from a CMS into a README file, or converting a blog post for use in a GitHub repository, this tool handles the heavy lifting. It uses the Turndown library to produce Markdown that faithfully represents your HTML structure: headings become # syntax, links stay clickable, tables convert to Markdown pipe syntax, and code blocks get proper fencing. You can choose ATX (##) or Setext heading style, pick your bullet character, and decide whether to keep unrecognized HTML tags.

How to Use

1
Paste your HTML Paste raw HTML into the left panel. You can paste a full page, a content section, or just a snippet. Click Load Sample to try it with example HTML first.
2
Choose heading and bullet style Select ATX (## Heading) or Setext (underline style) for headings. Pick -, *, or + as your bullet list character.
3
Decide what to do with unrecognized HTML Check Keep unrecognized HTML to preserve tags that have no Markdown equivalent (e.g. <div>, <span>). Uncheck to strip them.
4
Review the Markdown output The right panel updates in real time as you type. Review the output to ensure all headings, links, images, and tables converted as expected.
5
Copy or download Click Copy Markdown to copy to your clipboard, or Download .md to save it as a .md file.
🔒 Privacy note: All processing happens locally in your browser. Your data is never sent to any server.

Why Use HTML to Markdown Converter?

📝
Perfect for Static Site Migration Moving from WordPress, Squarespace, or a CMS to Hugo, Jekyll, or Gatsby? Convert your existing HTML content to Markdown files in seconds without losing structure.
🐙
GitHub-Ready Output Turn HTML documentation, release notes, or blog posts into clean .md files ready for GitHub READMEs, wikis, or pull request descriptions — without manual reformatting.
🎛️
Flexible Output Options Choose between ATX (##) and Setext heading styles, select your preferred bullet character, and control whether unknown HTML tags are preserved or stripped — giving you full control over the output format.
🔒
100% Private — No Upload All conversion happens in your browser using the Turndown JS library. Your HTML content — whether it's internal docs, proprietary copy, or drafts — never leaves your machine.

Frequently Asked Questions

This converter supports: headings (H1–H6), paragraphs, bold/italic/strikethrough, links, images, ordered/unordered lists, code blocks, inline code, blockquotes, horizontal rules, and tables. Unsupported elements can be kept as-is or removed.
ATX headings use # symbols (## Heading 2). Setext headings underline H1 with === and H2 with ---. ATX supports all 6 levels; Setext only supports H1 and H2. ATX is more widely supported and recommended.
Yes, paste the full HTML source of a page. The converter processes only the content tags and ignores scripts, styles, and meta tags. For best results, paste just the content area (the article or main tag) rather than the entire document.