Toolium

HTML to Markdown Converter

Convert HTML to clean Markdown instantly

100% client-sideFree, no signup

Turning HTML back into clean markdown

This is the return trip: paste HTML, whether copied from a website, an email export, or a Notion page, and get clean markdown out. It is the usual first step when you migrate a CMS into a static site, archive an article, or drop formatted text into a chat that speaks markdown but not rich HTML.

How to run it

  1. Paste the HTML into the input, the source markup rather than a rendered screenshot.
  2. Read the markdown the tool produces on the other side.
  3. Skim for the pieces markdown cannot carry, covered below, and patch them by hand.

The structural HTML maps straight across: h1 through h6 become one to six hash marks, bold and italic become asterisks and underscores, links and images take their markdown forms, lists become dashes and numbers, and a blockquote becomes a greater-than line. A code block keeps its language hint when the source marks it with a class like language-python. Tables are the exception: their cells flatten to plain lines of text, so rebuild any table by hand or keep the HTML table inline in your markdown.

What markdown cannot carry

Anything markdown has no syntax for falls away or flattens to plain text: styled divs, embedded video, iframes, font and color choices. HTML that leans on styling to make sense comes out plainer. That is a limit of markdown itself, not the converter. You get the cleanest result by pasting just the fragment you care about, the article body rather than a full document with its head section, and by removing script and style blocks from the source before converting.

Conversion questions

Does it keep nested lists?
Yes. Each level of nesting becomes deeper indentation in the markdown source, so deep lists convert fine but get harder to read the further down they go.
What happens to image sizes?
The alt text and source URL carry over, but a width or height attribute does not, since markdown has no image sizing. Keep an HTML img tag inline in your markdown when you need the dimensions.
What should I do with scripts and styles?
Delete them from the source before you convert. Markdown is content only, with no place for executable code or CSS, so script and style blocks have nothing useful to become. Pasting just the body markup you want to keep gives the cleanest output.