HTML to Markdown Converter

Convert HTML markup to clean GitHub-Flavored Markdown, or paste rich text straight from a web page, Google Docs or Word. Headings, lists, tables, links and code blocks all survive the trip — entirely in your browser.

html-to-markdown · runs locally
Click here, then paste rich text (Ctrl+V / ⌘V) — copied from a web page, Google Docs or Word — and get Markdown instantly.

Turn any HTML into clean Markdown

This converter takes HTML in two ways. Paste raw markup into the input pane and click convert, or — the faster path — copy formatted content from any web page, Google Docs or Word document and paste it into the rich-text zone at the top. The browser hands over the underlying HTML of whatever you copied, the tool fills the input pane with it and converts immediately. Either way the output is GitHub-Flavored Markdown: # headings, **bold** and *italic*, links, images, nested lists, task-list checkboxes, pipe tables, blockquotes and fenced code blocks with language hints preserved from language-* classes.

The parser is deliberately forgiving. Real-world HTML — especially what word processors put on the clipboard — is buried in wrapper divs, spans and vendor styles. Unknown elements are treated as transparent containers, scripts and styles are ignored entirely, and whitespace is collapsed the way a browser would render it, so messy input still yields tidy Markdown.

How to convert HTML to Markdown

  1. Copy formatted text from a page or document, click the paste zone, and paste — or type raw HTML into the input pane and click Convert to Markdown.
  2. Review the Markdown in the output pane.
  3. Click Copy Markdown and drop it into your README, wiki, issue or notes app.

Round-tripping between HTML and Markdown

This tool is the mirror of the Markdown to HTML Converter: one direction migrates existing web content, CMS exports or emailed documents into Markdown for version control and plain-text editing; the other renders your Markdown back into HTML for publishing. Together they let content move freely between the format you write in and the format browsers render. If you only need to neutralize markup rather than translate it, the HTML Entity Encoder handles escaping instead.

Frequently asked questions

Is my HTML uploaded anywhere when I convert it?

No. The conversion runs entirely in your browser using the built-in DOMParser — nothing you type or paste ever leaves your machine. You can load the page, disconnect from the internet and it still works.

What survives the conversion and what is lost?

Structure survives: headings, paragraphs, emphasis, links, images, lists (including nesting and task checkboxes), tables, quotes and code blocks. Styling does not — colors, fonts, spacing and layout have no Markdown equivalent, so they are dropped. That is the point: you keep the content and shed the presentation.

Why does pasting from Google Docs or Word work so well?

Rich-text clipboards from Docs and Word are notorious span soup — nested spans, mso- styles and font-weight wrappers around everything. The converter walks unknown elements as transparent containers and reads emphasis from inline styles where Docs uses them, so the noise falls away and only the real structure remains.

Which Markdown flavor does this produce?

GitHub-Flavored Markdown (GFM). That means pipe tables, ~~strikethrough~~, task-list checkboxes and fenced code blocks with language hints — all render correctly on GitHub, GitLab and most modern Markdown processors, and the CommonMark core works everywhere.