Convert HTML to Markdown instantly — headings, bold, italic, links, tables, code blocks, blockquotes, and lists. GFM-compatible output. No signup, no limits.
<h1>–<h6> → # through ######
<strong>/<b> → **text**, <em>/<i> → *text*
<s>/<del> → ~~text~~
<a href="url">text</a> → [text](url)
<img src alt> → 
<code> → `code`
<pre><code class="language-py"> → fenced blocks
<blockquote> → > prefix on each line
<ul><li> → - bullets
<ol><li> → 1. 2. 3. numbers
<table> → GFM pipe table with header divider
<hr> → ---
Copy HTML from your source: a CMS, a website, a scraper output, or a code editor: and paste it into the left panel. The HTML to Markdown converter starts immediately.
The right panel updates in real time as you type or paste. No button to press. Headings, lists, bold, italic, links, tables, and code blocks are all converted.
Click 'Copy Markdown' to copy to clipboard, or 'Download .md' to save as a file. Use the output in GitHub, Notion, Obsidian, Ghost, or any Markdown-based editor.
When you need to convert HTML to Markdown for a GitHub README, a Notion page, an Obsidian note, or a Ghost blog post, you need output that is clean and accurate: not a pile of escaped characters or missed tags. Credify's free HTML to Markdown converter handles every common HTML element and outputs valid GFM-compatible Markdown you can paste anywhere.
This HTML to MD converter handles all structural and inline elements: headings, paragraphs, bold, italic, strikethrough, underline, links, images, code spans, fenced code blocks with language detection, blockquotes, ordered and unordered lists, tables, and horizontal rules. It does not convert CSS styles: if your HTML has style="" attributes, those are dropped, since Markdown has no equivalent. After converting, run your content through the Word to HTML Converter or the HTML to BBCode Converter if you need output in other formats. Before publishing the converted content, run it through the readability checker to confirm sentence complexity and the grammar checker to catch any formatting artifacts.
Migrating off a CMS. Static site generators (Hugo, Astro, Eleventy, Jekyll) expect Markdown files. Exporting posts from WordPress or Ghost gives you HTML, and converting it to Markdown is the step between the export and a working repository.
Content that belongs in version control. An HTML diff is close to unreadable — one reflowed paragraph can rewrite an entire line. Markdown diffs cleanly, line by line, which is why documentation that changes often tends to live in Markdown rather than HTML.
Feeding text to a language model. HTML spends a large share of its tokens on tags, attributes, and class names that carry no meaning for the model. The same content in Markdown is typically far smaller while preserving the structure that matters — headings, lists, emphasis, links. If you are pasting page content into ChatGPT or Claude, converting HTML to Markdown first is the cheapest reduction available. Our guide on reducing token waste covers the arithmetic.
Moving between editors. Notion, Obsidian, Bear, Ghost, and GitHub all accept Markdown on import. HTML pasted into any of them tends to arrive carrying inline styles and stray wrapper elements.
Markdown is a smaller language than HTML, so some constructs have nowhere to go. Knowing which ones saves you hunting for a converter bug that isn't one:
<u> is preserved as inline HTML here rather than silently becoming italic, because changing the author's meaning is worse than emitting a tag.<div> and <span> carry no semantic meaning, so they dissolve and only their contents survive. Anything that depended on CSS for its structure will read differently afterwards.* or _ has to be escaped or it becomes accidental emphasis. This converter escapes them, which is why you may see backslashes in the output that were not in the input — that is correct behaviour, not corruption.Free, no signup. GFM-compatible output — paste HTML, get clean Markdown in seconds.