Skip to content
Burrows Tools

Markdown Preview

Type markdown on the left and watch it render on the right, then copy the HTML when it looks right. Headings, emphasis, links, images, fenced code with a language label, blockquotes, nested lists, GitHub-style task lists and tables with column alignment are all supported — the constructs a README or an issue comment actually uses. The renderer is our own, written for this page, and it works by escaping everything first and then emitting a fixed set of elements, so raw HTML in your source is shown as text rather than executed and a link has to start with http, https or mailto to become a link at all. The preview is built as real page elements rather than by injecting a string of HTML, which is the difference between a preview you can trust with a pasted document and one you cannot. Nothing you type is uploaded: the whole thing runs in this tab.

Rendered in your browser as you type.

Preview

Markdown preview

Type on the left, read the result on the right. Bold, italic, code, strikethrough and links all work.

A checklist

  • headings, lists and tables
  • anything that would run a script
FeatureSupported
Tablesyes
Raw HTMLno, shown as text

Everything is rendered in your browser.

const safe = true;

How to use the markdown preview

  1. Type or paste your markdown into the left-hand box.
  2. Watch the preview update on the right as you type.
  3. Press Show HTML to see the generated markup, or Copy HTML to put it on the clipboard.
  4. Press Reset to the example to start again from the sample document.

Frequently asked questions

Which markdown flavour is supported?
CommonMark's common ground plus the GitHub extensions people type every day: tables, task lists and strikethrough. Setext (underlined) headings, indented code blocks, reference-style links, footnotes and inline HTML are not supported. A construct that is not recognised is shown as the text you typed rather than disappearing.
Why is my HTML showing as text?
On purpose. This renderer never passes raw HTML through, because a preview pane that executed pasted markup would be an easy way to attack anyone using it. A <script> tag, an onerror attribute, or an inline <div> all appear as the characters you typed.
Why did my link not become a link?
Only http, https and mailto URLs are turned into links. A javascript: or data: URL is dropped and its text is kept, and a relative path such as /docs/readme.md is left as text too, because a preview pane has no site to resolve it against.
Is the copied HTML the same as the preview?
Yes. The document is parsed once and both the preview and the HTML come from that same tree, so what you copy is what you see. The HTML has no styling attached — the preview's spacing comes from this page's stylesheet, not from the markup.
Is my document uploaded?
No. Parsing and rendering happen in your browser, so a draft post, a private README, or a document under NDA never leaves your device. The page keeps working with the network off.