Skip to content

Convert

Markdown to HTML

Markdown to HTML

Beta

Paste Markdown or drop a .md file and get clean HTML to copy or download. Tables, task lists and fenced code included. Runs in your browser; nothing is uploaded.

Use via API
  • Free, no sign-up
  • REST + MCP
  • Updated
  • Reviewed by Olgun Ozoktas

Off gives you a fragment to paste into a CMS field or a template. On wraps it in a doctype, head and body.

Markdown
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HTML

Nothing to convert yet. Blank lines and spaces on their own are not Markdown.

How to convert Markdown to HTML

  1. Add your Markdown

    Paste it into the left panel, or drop a .md or .markdown file onto it. Conversion happens as you type.
  2. Choose a fragment or a whole document

    Leave the Full HTML document toggle off for a fragment you can paste into an existing page, or turn it on to get a complete file with a doctype, charset and title.
  3. Check the preview

    Switch to the Preview tab to see the rendered result. The HTML tab holds the markup itself.
  4. Copy or download

    Copy the HTML to the clipboard, or download it as an .html file named after the file you dropped.

Common uses

Pasting a draft into a CMS

Most CMS body fields accept an HTML fragment and reject Markdown. Converting first means headings, lists and links survive the paste instead of arriving as literal asterisks.

Turning a README into a web page

A README written in GitHub Flavored Markdown converts here with its tables, task lists and fenced code intact, ready to drop into a docs page.

Building an email or newsletter body

Email templates are HTML. Writing the copy in Markdown and converting it is faster than hand-writing paragraph tags, and the preview shows what the markup produces.

Checking what a Markdown file will render as

The HTML tab shows exactly which tags a block produces, which is the quickest way to find out why a list or a table is not coming out the way you expected.

Why convert Markdown to HTML?

Markdown is what you write in; HTML is what most systems actually want. A CMS body field, an email template, a help-centre article, a plain static page — each of them takes HTML and none of them take Markdown. The usual answers are to install a converter on the command line for a job that takes seconds, or to paste the draft into whichever online converter comes up first. This page does the conversion in the tab and hands back both the markup and a preview of it, so you can check the result before you paste it anywhere.

Markdown to HTML converts a Markdown document into HTML in your browser. It covers the blocks people actually write: headings, paragraphs, bold and italic, strikethrough, inline code and fenced code blocks with a language class, blockquotes including nested ones, ordered and unordered lists with nesting, horizontal rules, images, links and bare URLs. The GitHub Flavored Markdown extensions are there too — pipe tables with column alignment, and task lists with their checkboxes.

The output is a fragment by default, which is what a CMS field, a template partial or an existing page wants. Turning on Full HTML document wraps that fragment in a minimal HTML5 shell: a doctype, a UTF-8 charset, a viewport meta and a title taken from your first heading. Both forms copy to the clipboard or download as an .html file.

Two things this converter deliberately will not do. Raw HTML written inside the Markdown is escaped rather than passed through, so a block of markup in the source shows up as text; that is what makes it safe to render the result in the preview pane at all. And link destinations are checked against a short list of schemes — http, https, mailto, tel, plus ordinary relative and anchor links — with anything else replaced rather than emitted. If you need HTML passed through untouched, this is not the tool for that.

It is the same conversion the REST API and the MCP tool run, so a document converted on this page and the same document converted from a script come out identical.

How it compares

FindUtils already had most of the Markdown pair: HTML to Markdown going the other way, Markdown to Word, Markdown to PDF, and a Markdown Previewer for looking at a draft. The missing half was the plain one: give me the HTML.

The previewer and this page are not the same job. A previewer answers "what does this look like"; a converter answers "what do I paste". This page leads with the markup, keeps the rendered view on a second tab, and gives you a file at the end.

The alternative is a command-line converter, which is the right tool when you are converting a directory on a schedule and a heavy one when you have a single draft in front of you. Either way, a document you have not published yet is worth keeping on your own machine, and this conversion never leaves the tab.

Tips

  • Raw HTML inside your Markdown is escaped, not passed through. A <div> in the source comes out as visible text, which is what keeps the preview safe to render.
  • Link and image destinations are limited to http, https, mailto, tel and ordinary relative paths. Anything else is replaced with #blocked-unsafe-url rather than carried into the output.
  • Fenced code blocks keep their language as a class, so <code class="language-js"> is there for a highlighter to pick up. The tool does not colour the code itself.
  • A single newline inside a paragraph stays a newline in the source and renders as a space, the same as GitHub. End a line with two spaces for a real line break.
  • The Full HTML document title comes from the first H1 unless you type one, and falls back to "Document" when there is no heading at all.
  • Going the other way? The HTML to Markdown tool converts HTML back, and the Markdown Previewer is the one to use when you only want to look at the result.

Frequently asked questions

Does it support GitHub Flavored Markdown?

The parts of it people write by hand: pipe tables with alignment, task lists, strikethrough, fenced code blocks and bare URL autolinking. Footnotes, reference-style links and setext (underlined) headings are not supported and come through as ordinary text.

What happens to raw HTML in my Markdown?

It is escaped and shown as text rather than passed through. That is deliberate: it means the only tags in the output are ones this converter produced, which is what makes the preview pane safe to render. If you need HTML carried through untouched, this tool is not the right one.

Is my document uploaded anywhere?

No. The conversion runs in your browser, and a dropped file is read locally with the File API. You can confirm it in your browser's network tab — there is no request carrying your text.

What is the difference between a fragment and a full document?

A fragment is just the converted content — headings, paragraphs, lists — with no wrapper, which is what you paste into a CMS field or an existing template. A full document adds a doctype, a head with the charset and viewport, and a title, so the file opens in a browser on its own.

Does it highlight the code in fenced blocks?

No. It writes the language onto the element as class="language-js" and leaves the colouring to whatever highlighter your page already uses. The Code to Image tool is the one that produces coloured output.

Why is a link I wrote coming out as #blocked-unsafe-url?

The destination used a scheme that is not allowed. Links and images may point at http, https, mailto or tel URLs, or at ordinary relative and anchor paths. Anything else — including javascript: and data: URLs — is replaced, because the output of this page ends up pasted into other people's pages.

Can it convert HTML back into Markdown?

Not on this page. The HTML to Markdown tool does that, and the two together cover the round trip.

How large a file can it handle?

Up to about 10 MB of text, which is far more than a README or an article. Very large documents convert more slowly because the work happens on your own machine.

Can I call this from a script?

Yes. The same converter is published as a REST endpoint and as an MCP tool, and both run the exact code this page runs, so the output matches.

Why did my single line breaks disappear?

A single newline inside a paragraph is a soft break in Markdown and renders as a space, the same as it does on GitHub. End the line with two spaces, or a backslash, to get a real line break.

Rate This Tool

0/1000

Get Weekly Tools

Suggest a Tool