↑↓ Move↵ OpenEsc Close

Text & markupFree Markdown converter

Markdown to HTML

Turn Markdown into clean, standard HTML: a snippet to paste into a CMS or email, or a complete web page ready to open. It runs in your browser, so nothing is uploaded.

Highlights

  • GitHub-flavoured Markdown
  • Snippet or full page
  • Converted on your device
  • No sign-up

How to Convert Markdown to HTML

This tool reads your Markdown the way GitHub does and writes it out as plain, semantic HTML: headings, paragraphs, lists, tables, code, links and images, with no extra classes or wrappers.

The preview in Step 1 shows exactly how it will look. Everything happens in this browser tab and nothing is uploaded.

Choose how it comes out

  • Snippet or page — just the HTML for your content, or a complete .html file with a title.
  • Raw HTML — keep any HTML you wrote inside the Markdown, or leave it out.
  • Heading links — give each heading an id, so you can link straight to a section.
  • Page styles — add a small stylesheet so a full page reads well as soon as it opens.

To use this tool, start with Step 1 below. In Step 1: Add Markdown, paste or type Markdown, open a .md file, or load the example. In Step 2: Copy HTML, pick your options, then copy the HTML or download it as an .html file.

Step 1 of 2

Add Markdown

Paste or type Markdown, open a .md file, or load the example. The preview updates as you type.

or drop a file here. It stays on this device.

.md, .markdown, .mdown, .mkd or .txt · up to 10 MB

0 characters · 0 lines

Preview

Your formatted document will appear here.

Step 2 of 2

Copy HTML

Choose a snippet or a full page. The HTML updates as you change an option.

Options

Output
Include

0 characters · 0 lines

Markdown to HTML guide

From Markdown to web-ready HTML

Markdown is quick to write, but websites, email templates and many CMS fields want HTML. This tool turns one into the other with the same rules GitHub uses, and keeps the output clean enough to read and edit by hand.

The basics

How does Markdown to HTML work?

Your Markdown is parsed into a document tree, the same way a Markdown renderer reads it, and each part of the tree is written out as the matching HTML element.

1

Parse

A GitHub-flavoured Markdown parser reads headings, lists, tables, code, links and footnotes.

2

Map

Each part becomes its standard HTML element, with heading ids and table alignment added.

3

Wrap

Keep it as a snippet, or wrap it in a full page with a title and optional styles.

4

Copy

Copy the HTML or download an .html file. The preview shows how it will look.

What carries over

Markdown elements in HTML

What each piece of Markdown becomes.

MarkdownHTMLNotes
# to ######<h1> to <h6>With a GitHub-style id unless you switch ids off.
**bold**, *italic*, ~~strike~~<strong>, <em>, <del>Nested formatting is kept.
- item, 1. item<ul>, <ol>, <li>Nested lists and your starting number are kept.
- [x] task<input type="checkbox">Checked state carried over, disabled so it can't be ticked.
Pipe table<table> with <thead>Column alignment becomes align="left|center|right".
```js fenced code<pre><code class="language-js">Ready for Prism, highlight.js or Shiki.
[text](url), ![alt](src)<a href>, <img alt>Reference-style links and bare URLs too.
[^1] footnote<sup> link + footnotes sectionLinked both ways, at the end of the document.

Use cases

When to convert Markdown to HTML

Whenever Markdown has to end up somewhere that only takes HTML.

CMS & blogs

Paste into WordPress, Ghost, Webflow or Shopify's HTML editor.

Email

Write a newsletter or announcement in Markdown, then drop it into an email template.

Static pages

Turn a README or doc into a standalone page you can host anywhere.

Docs & help centres

Move Markdown docs into tools like Zendesk or Confluence that accept HTML.

Developers

Check exactly what HTML a piece of Markdown produces before you ship it.

Product listings

Write descriptions in Markdown and paste HTML into a marketplace listing.

Set expectations

What to know

A few things Markdown doesn't carry into HTML by itself.

Limit 1

Syntax colours

Code blocks get a language class, but colouring comes from your site's highlighter.

Limit 2

Your site's design

Snippets use your page's styles, so they may look different from the preview.

Limit 3

Extensions

Maths, diagrams and other non-GitHub extensions are written as plain text.

Need it the other way round? HTML to Markdown turns web pages and HTML source back into clean Markdown.

Common questions

Markdown to HTML FAQ

Quick answers about converting Markdown to HTML.

How do I convert Markdown to HTML?

Start in Step 1: paste Markdown, open a .md file or press Load example. The HTML appears in Step 2 straight away. Choose a snippet or a full page, then copy the HTML or download it as an .html file.

What's the difference between an HTML snippet and a full page?

A snippet is just the HTML for your content, starting with the first heading or paragraph. Use it to paste into a CMS, a blog editor, an email template or an existing page. A full page wraps it in <!doctype html>, <head> and <body> with a title taken from your first heading, so you can open the file straight in a browser or put it on a web server.

Is my Markdown uploaded anywhere?

No. Your Markdown is turned into HTML right in your browser tab, so it stays on your device. Nothing is saved between visits.

Which Markdown features does it convert?

Everything in GitHub-flavoured Markdown: headings, bold, italic, strikethrough, links (inline, reference-style and bare web addresses), images, ordered, bullet and task lists, tables with column alignment, fenced code blocks with a language, blockquotes, horizontal rules and footnotes.

Does it add classes, styles or wrappers to the HTML?

No. The snippet is plain semantic HTML: <h2>, <p>, <ul>, <table>, <pre><code> and so on, so it picks up your site's own styles. The only classes are the standard ones for task lists, code languages (language-js) and the footnotes section. Styles are only added to a full page, and you can switch them off.

What happens to HTML I wrote inside the Markdown?

By default it's passed through unchanged, which is what Markdown is designed to do, so things like <kbd>, <sup> or a <details> block keep working. Untick HTML written in the Markdown to leave it out, for example when you're preparing content for a system that doesn't allow raw HTML.

Why do my headings have ids?

Each heading gets an id made from its text, the same way GitHub does it, so ## Before the count becomes id="before-the-count". That lets you link straight to a section with #before-the-count or build a table of contents. Untick Heading ids if you don't want them.

Why did my line breaks turn into <br> tags?

Keep line breaks is on, so each line you typed stays on its own line, as it does in GitHub comments and notes apps. Turn it off in Step 1 for strict Markdown, where lines next to each other join into one paragraph.

Is the HTML safe to put on my website?

The HTML matches your Markdown exactly, including any raw HTML or links it contains, so treat it like anything else you publish. If the Markdown came from someone else, untick HTML written in the Markdown so scripts or embeds in it aren't carried over.

Is there a limit?

It's unlimited, with no account needed. Markdown files can be up to 10 MB, and pasting is limited only by what your browser can hold.

Related converters

These tools also run in your browser, with no sign-up and nothing uploaded.