Loading…
Convert HTML to Markdown for CMS exports and docs. Use for HTML input only; for Markdown to HTML use markdown-to-html. Input: HTML ≤10MB. Returns Markdown. 100% client-side.
HTML to Markdown Converter is loading — interactive editor will appear here. Use examples below to try instantly once loaded.
Press ? for keyboard shortcuts
Converts HTML content to Markdown with support for 6 heading styles (ATX, ATX-closed, Setext, etc.), 3 bullet styles (*, -, +), inline and reference link formats, and code style options. Strips inline CSS styles while preserving the structural content in clean Markdown syntax.
Content migration from HTML to Markdown is common when moving from WYSIWYG editors to static site generators or documentation platforms. Manual conversion is tedious and inconsistent, so this tool automates the transformation with configurable output style.
This tool is part of the DevStackIO platform — a collection of free online developer tools from DevStackIO. Browse more free developer resources on DevStackIO.
Technical writers migrating documentation, developers converting blog content to static site generators, and anyone moving from rich-text HTML to Markdown-based workflows.
Paste the HTML content into the input area
Select heading style: ATX (##), ATX-closed (## ##), Setext (===, ---), or others
Choose bullet style: *, -, or + for unordered lists
Select link format: inline [text](url) or reference [text][ref] style
Choose code style: indented or fenced (```) for code blocks
Click Convert and review the Markdown output; copy for use in your documentation
Input: '<h1>Title</h1><p>Hello <strong>world</strong></p>'. Output: '# Title\n\nHello **world**'Input: '<a href="https://example.com">click here</a>' with reference links. Output: '[click here][0]\n\n[0]: https://example.com'Input: '<ul><li>One</li><li>Two</li></ul>' with * bullets. Output: '* One\n* Two'Input: '<img src="/logo.png" alt="Logo">'. Output: ''Does it handle images?
Yes, <img> tags are converted to Markdown image syntax .
Can I convert HTML tables?
Basic tables are converted, but complex rowspan/colspan may not work perfectly.
What happens to <style> and <script> blocks?
They are stripped from the output.
Does it support nested lists?
Yes, nested <ul>/<ol> elements are preserved as nested Markdown lists.
Is my HTML sent anywhere?
No, the conversion runs entirely in your browser.
Which heading style should I choose?
ATX (#) is the most widely supported by static site generators and editors.
Authoritative specifications, standards, and in-depth reading for HTML to Markdown Converter.
Convert Markdown to HTML with live preview. Use for publishing Markdown; for editing with preview use markdown-editor, for reverse direction use html-to-markdown. Input: Markdown ≤10MB. Returns HTML. 100% client-side.
Edit Markdown with side-by-side live HTML preview and export. Use as default authoring tool; for conversion-only without editing use markdown-to-html. Input: Markdown ≤10MB. Returns edited Markdown + HTML preview. 100% client-side.
Extract HTML tables to JSON arrays for scraping. Use for <table> input only; for CSV to JSON use csv-to-json. Input: HTML with tables ≤10MB. Returns JSON array or NO_TABLE_FOUND error. 100% client-side.
Convert JSON arrays to CSV for spreadsheets. Paste JSON, pick a delimiter, and download the CSV instantly.
Paste CSV and get JSON. Handles headers, delimiters, and spreadsheet exports — all locally.
Convert JSON to XML with root element control. Use for JSON input only; for reverse use xml-to-json, for JSON to YAML use json-to-yaml. Input: JSON ≤10MB. Returns XML or line-numbered JSON error. 100% client-side.
Convert XML to JSON preserving attributes and nesting. Use for XML input only; for reverse use json-to-xml. Input: XML ≤10MB. Returns JSON or XML parse error. 100% client-side.
Convert JSON to YAML for configs. Use for JSON input; for YAML validation use yaml-formatter, for TOML cross-format use toml-converter. Input: JSON ≤10MB. Returns YAML or JSON error. 100% client-side.