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
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.
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.
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.
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.
Markdown wants a blank line before a list. Without one, the lines are treated as a continuation of the paragraph.
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.