Markdown Preview

Show the generated HTML

    

Why raw HTML is shown rather than rendered

Most Markdown renderers pass HTML through untouched, because the specification allows it. In a preview tool that is a genuine hazard: paste a document from somewhere else and an <img onerror> or a script tag hidden in it would run in your browser. Here every angle bracket is escaped before anything else happens, so a pasted document can render as text but never execute. Link and image targets are checked too — only http, https and mailto are allowed through, which stops javascript: links.

The two things that trip people up

Lists need a blank line before them. Without one, Markdown reads the lines as a continuation of the paragraph above and your list disappears.

Tables need the dashes. The separator row directly under the header is what makes it a table, and it must have the same number of columns. Use colons in it to set alignment: :--- left, :---: centre, ---: right.

Two ways to copy

Copy the HTML when you want the markup for a page or an email template. Copy the formatted text when you want to paste into a document or a mail client with the headings, bold and lists intact — the formatting survives, the Markdown syntax does not come with it.

Share this tool with friends

Free to use, no sign-up, works on any phone.

Frequently Asked Questions

Which flavour of Markdown is this?

The common core plus the extras people actually use: tables, fenced code blocks, strikethrough and task lists. It is close to what GitHub renders, though GitHub adds things of its own such as issue references and emoji shortcodes that only mean something on GitHub.

Can I put HTML inside my Markdown?

It is shown as text rather than rendered. Passing raw HTML through would mean a pasted document could run a script in your browser, and no preview is worth that. If you need HTML, copy the generated markup and use it where you control the source.

Is my document sent anywhere?

No. It is converted in your browser and nothing is uploaded — which matters, since drafts pasted into a preview tool are often unpublished or internal.

Why does my table not render?

A table needs the separator row of dashes directly under the header, with the same number of columns. A missing or mismatched separator makes the whole thing a plain paragraph.

Why is my list running into the paragraph above?

Markdown wants a blank line before a list. Without one, the lines are treated as a continuation of the paragraph.

What can I do with the output?

Copy the HTML for a page or an email template, or copy the rendered text with its formatting intact to paste straight into a document or a mail client.

Everything on this page runs inside your own browser. Nothing you type or upload is sent to a server, so your data never leaves your device.