TontonTools

HTML to Markdown

Convert HTML to Markdown — web content into portable plain text.

100% Free No signup Privacy-friendly Web Development
Updated Sep 2026
Share X / Twitter Facebook LinkedIn WhatsApp

How to use HTML to Markdown

  1. Paste the HTML — page source content, a CMS export or an email body.
  2. Read the Markdown output — headings, links, lists and code preserved in plain text.
  3. Expect presentation to vanish — classes and inline styles have no Markdown form, by design.
  4. Drop the .md into its new home — static site, wiki, notes app or repo.

What is HTML to Markdown?

An HTML to Markdown converter runs the publish step in reverse: <h2> becomes ##, anchors become [text](url), <ul> lists become hyphen lines, <pre><code> becomes fenced blocks — HTML content distilled into the plain-text format documentation lives in.

The migration direction matters: content trapped in HTML — old blog posts, CMS exports, web pages — needs to become Markdown to enter the modern text-file world: Git-versioned docs, static site generators, wikis, Obsidian/Notion knowledge bases. Converting by hand means retyping every link and list; the converter preserves them.

About the HTML to Markdown

Paste HTML — a fragment or a page's content — and get clean Markdown: structure preserved, presentation stripped, ready for any .md destination.

The migrations it powers: WordPress/legacy-CMS exports into Hugo, Jekyll or Astro content folders; web articles into your notes app in editable form (not a bookmark — the text itself); HTML documentation into Git-managed Markdown where diffs and pull requests work; and HTML emails or newsletters into reusable plain-text drafts.

What deliberately doesn't survive: styling (classes, inline CSS, fonts) — Markdown has no vocabulary for it, and shedding presentation is the point of the trip; complex layout (nested divs, floats) flattens to linear content; and HTML without Markdown equivalents (forms, iframes) either passes through as raw HTML or drops. Clean semantic input converts beautifully; div-soup converts to its content, which is usually what you wanted anyway.

Frequently Asked Questions

Clean: headings, paragraphs, emphasis, links, images, lists, blockquotes, code, tables. Lossy: all styling (no Markdown equivalent), layout divs (flatten to content), forms/embeds (no equivalent — dropped or passed as raw HTML).
Export the posts (WordPress's XML export or the rendered HTML), convert each post's content here, save as .md files with front-matter for your generator (Hugo/Jekyll/Astro). Links, images and formatting survive the trip.
Because Markdown stores structure, not presentation — that's its design. The styling belongs to the destination site's theme; the content is what migrates.
Simple tables become Markdown pipe tables. Complex ones (merged cells, nested content) exceed Markdown's table syntax and either simplify or pass through as HTML — most Markdown renderers display embedded HTML tables fine.
Ergonomics and tooling: Markdown is pleasant to write and edit, diffs cleanly in Git, and every modern docs/notes/static-site tool speaks it natively. HTML remains the output format; Markdown is the working format.

We use cookies for analytics and to keep the tools free via ads. See our Privacy Policy.