Markdown to HTML Converter

Paste or type Markdown to convert it to HTML. Supports GFM tables, code blocks, links, images and more. All processing happens in your browser.

About Markdown to HTML

This tool converts Markdown syntax to clean HTML code. All processing happens in your browser. No data is sent to any server.

Supported Markdown features:

  • Headings (h1 through h6)
  • Bold, italic, strikethrough, inline code
  • Links and images
  • Ordered and unordered lists
  • Blockquotes and code blocks
  • Horizontal rules and line breaks
  • Tables (GFM syntax)

Markdown was designed so that the plain text stays readable, which means the conversion is deliberately conservative: anything it does not recognise is left alone rather than guessed at. That includes raw HTML, which passes through untouched, so converting text from an untrusted source produces HTML from an untrusted source. Sanitise it before it goes anywhere near a page, and remember that different implementations disagree on the edges, particularly around tables and nested lists.

Is the markup fighting you?

Escaped entities, mangled encodings and content that renders one way in the CMS and another on the page usually mean something in the pipeline is guessing. We build front ends and the publishing path behind them, so what you write is what a visitor sees.

Talk to us about your site

Frequently Asked Questions

Which flavour of Markdown is this?
The common core plus the parts of GitHub's flavour people actually use: tables, fenced code blocks and strikethrough. Reference style links and inline HTML behave the way the original specification describes.
Why did my raw HTML come through unchanged?
Because that is what Markdown says should happen. HTML inside a document is passed along as written, which is convenient and also the reason you must never render converted output from an untrusted source without sanitising it first.
Why does my nested list come out flat?
Almost always indentation. A nested item needs to line up with the text of its parent, not with the parent's bullet, so two spaces is often not enough where the parent is a numbered item. Four spaces is the reliable choice.
My table is not rendering.
Tables need the separator row of dashes under the header, and the whole table needs a blank line before it. A table immediately after a paragraph, with no gap, is read as part of that paragraph.
Does it handle footnotes and other extensions?
Not the ones outside the common set. Footnotes, definition lists and custom containers vary between implementations, so a document that relies on them will convert differently depending on which tool renders it in the end.