♻️HTML to Markdown Converter - Rich Text to MD and MD to HTML
Moving a web article, an online doc or an old blog post into Markdown notes, a GitHub README or a static site? Paste the HTML source — or simply copy a selection from a web page, Google Docs or Word and paste it here: the tool reads the rich-text HTML from the clipboard instead of the plain text that loses formatting. The converter parses with the browser’s DOMParser and walks the tree to produce GitHub-flavored Markdown: H1–H6 headings, deeply nested ordered and unordered lists, task-list checkboxes, tables with column alignment (merged cells padded), fenced code blocks with the language taken from the class (the fence grows automatically to avoid clashes), inline code, links and images with titles, nested blockquotes, bold, italic, strikethrough, line breaks and horizontal rules. It also understands the span styles Google Docs uses for bold, italic and strikethrough, and escapes characters that would otherwise be read as Markdown syntax. Options cover heading style (ATX # or Setext underline), bullet marker, code fence, link style (inline or reference), emphasis markers and line-break style. The other direction renders Markdown to HTML with marked, with GFM and single-newline breaks optional. Both sides can be previewed, copied and downloaded as .md or .html, all locally.
Free · No sign-up · Runs in your browserLast updated:
How to use HTML to Markdown Converter
- 1Choose a direction and paste HTML or Markdown — or copy rich text from a page and paste it, or click “Paste rich text from clipboard”
- 2Adjust heading, list, code block and link styles below
- 3View the source or preview on the right, then copy or download .md / .html
FAQ
- How do I turn part of a web page into Markdown?
- Select it on the page, press Ctrl/⌘+C, then click into the input box here and press Ctrl/⌘+V — the HTML flavor of the clipboard is picked up and converted immediately. You can also click “Paste rich text from clipboard” (the browser will ask for clipboard permission). It works the same for Google Docs and Word, keeping bold, italic, lists, tables and links.
- Are there limits when converting tables?
- A GFM table needs a header row and single-line cells, so an empty header row is added when the first row isn’t a header, line breaks inside cells become <br>, and colspan is padded with empty cells (rowspan can’t be represented). A | inside a cell is escaped as \|. Complex nested tables are best left as HTML.
- Why do some characters get a backslash in front?
- Characters such as *, _, [, ], ` and a leading # or “1.” have special meaning in Markdown; left alone they could turn into bold text, headings or lists. The converter only escapes when needed — an underscore inside a word like snake_case is left as is — so the rendered output looks like the original HTML.
- Can I convert back and forth?
- Yes. When you switch direction, the current output becomes the new input so you can check the round trip. For headings, lists, tables, code blocks and links, HTML → Markdown → HTML gives an equivalent result, but anything Markdown can’t express — classes, styles, custom attributes — is lost, and layout-only tags such as div and span are dropped.