HTML to Markdown Converter
Paste HTML and get back clean Markdown — perfect for migrating content into Notion, Obsidian, GitHub READMEs, or any Markdown-based system.
<h1>Hello</h1><p><strong>bold</strong></p> → # Hello
**bold**
Paste HTML and get back clean Markdown — perfect for migrating content into Notion, Obsidian, GitHub READMEs, or any Markdown-based system.
<h1>Hello</h1><p><strong>bold</strong></p> → # Hello
**bold**
This tool reverses the usual flow: paste rendered HTML (from a webpage, an email, an RSS export, or a CMS), and get back clean Markdown ready for a Markdown-based system. Inline styles, classes, and most non-content attributes are stripped automatically.
Useful when migrating content out of a WYSIWYG-only CMS (Wix, Squarespace, older WordPress) into a Markdown-first system (Notion, Obsidian, Hugo, GitHub Pages). The output is conservative — when in doubt, the tool drops formatting rather than guessing.
Copy the rendered HTML from a Wix / Squarespace / old WordPress post, paste it here, and the Markdown output is ready to drop into Notion or Obsidian without manual cleanup.
Hugo, Jekyll, and Eleventy all run on Markdown content. Convert your existing site's HTML pages to Markdown for faster rebuilds.
Email clients export messy HTML with inline styles and conditional tags. Convert to Markdown to get just the content.
Reader-mode HTML from articles, when converted to Markdown, becomes a clean reading file for Obsidian or your knowledge base.
Internal docs in a corporate wiki (Confluence) → Markdown for migrating to GitBook, ReadMe, or a docs-as-code system.
Single-level lists work cleanly. Nested lists may flatten to a single level. For documents with deeply nested structures, use Turndown as a more sophisticated alternative.
All inline style= and class= attributes are stripped — they have no Markdown equivalent. If your content depends on styling (specific font sizes, colors), you'll need to add it back in your destination system.
Not yet. Tables are converted to plain text. For HTML tables, manually rebuild them in your destination system using its table syntax.