Boneyard Tools

HTML to Markdown Converter

Paste HTML and get tidy Markdown you can drop into a README, doc or CMS. It converts headings, bold and italic, inline and fenced code, links, images, ordered and unordered lists, blockquotes and horizontal rules. Unknown tags are stripped, their text is kept, and common entities like & are decoded.

How to convert HTML to Markdown

  1. Paste or type your HTML into the input box.
  2. The Markdown output updates instantly as you edit.
  3. Copy the Markdown or download it as output.md for your repo or notes.

Examples

Heading, bold text and a link

<h1>Notes</h1><p>Some <strong>bold</strong> text and a <a href="https://example.com">link</a>.</p>
# Notes

Some **bold** text and a [link](https://example.com).

An unordered list

<ul><li>Apples</li><li>Oranges</li><li>Pears</li></ul>
- Apples
- Oranges
- Pears

Frequently asked questions

Which HTML elements are supported?

Headings (h1 through h6), bold (strong, b), italic (em, i), inline code, preformatted code blocks (pre and code), links, images, unordered and ordered lists with nesting, blockquotes, horizontal rules and line breaks. Block tags like div and section pass their content through.

What happens to tags it does not recognize?

Unknown or styling-only tags such as span and font are removed, but the text inside them is kept, so you do not lose any content. Script and style blocks are dropped entirely along with their contents.

Does it handle HTML entities?

Yes. Common named entities like &amp;, &lt;, &gt;, &copy; and &mdash;, plus numeric entities like &#65; and &#x42;, are decoded back to their real characters so the Markdown reads naturally.

Is my HTML sent to a server?

No. The conversion runs entirely in your browser, so nothing you paste leaves your machine. You can use it offline once the page has loaded.

Is this full CommonMark or GitHub Flavored Markdown?

It produces standard Markdown for the elements most people paste. Tables, definition lists, task lists and embedded raw HTML are not converted to special Markdown syntax, so review the output if your source relies on those.

Why does my formatting look slightly different?

Markdown has fewer constructs than HTML, so insignificant whitespace is collapsed and inline styling is normalized (for example b and strong both become **bold**). The meaning is preserved even when the exact bytes differ.

Related tools