HTML to Markdown Converter

Paste HTML, pick your Markdown style, and press Convert to Markdown. Scripts and styles are dropped, and tables become GitHub-style Markdown tables.

Try an example

About this HTML to Markdown converter

Markdown is the format of README files, documentation sites, static site generators, and many note apps, while old content usually lives as HTML in a CMS. This converter turns HTML into Markdown you can keep editing by hand: headings, paragraphs, bold and italic text, links and images, nested lists, blockquotes, fenced code blocks with their language, and tables as GitHub-flavored Markdown. Scripts, styles, forms, and the page head are dropped, and characters that mean something in Markdown are escaped so your text stays text.

How to convert HTML to Markdown

  1. Paste your HTML. Paste a snippet or a whole page, or press an example. An example only fills the box.
  2. Choose the Markdown style. Pick the heading style, list marker, code fence, and link style your project uses.
  3. Press Convert to Markdown. The Markdown appears below with a preview and conversion statistics.
  4. Copy or download. Press Copy Markdown, or Download to save a .md file.

Frequently asked questions

Which Markdown flavor is produced?

CommonMark with GitHub extensions: tables and ~~strikethrough~~. It works on GitHub, GitLab, most static site generators, and most Markdown editors.

What happens to HTML that Markdown cannot express?

Its text is kept and the tag is dropped. Classes, inline styles, forms, and embedded media such as iframes are not carried over, and scripts and styles are removed entirely.

How are tables converted?

The first row becomes the header, and align attributes or text-align styles become column alignment. Markdown has no merged cells, so a cell that spans several columns appears once and the rest of its row is filled with empty cells. A | inside a cell is escaped.

What is the difference between inline and reference links?

Inline links put the URL right after the text: [text](url). Reference links use a number, [text][1], and list every URL at the end of the document, which keeps long paragraphs easier to read.

Why do some characters get a backslash?

Characters such as *, _, `, and [ have a meaning in Markdown. They are escaped with a backslash when they appear in normal text, so "5 * 3" is not turned into italics.