Developer

Markdown Preview

Preview GitHub-flavoured Markdown as you type, with sanitised HTML you can copy or download.

Runs entirely in your browser. Nothing you paste is uploaded.

0 characters · 0 bytes

This runs entirely in your browser. Nothing you paste is sent to us or to anyone else.

How to use it

  1. Paste your text into the box marked "Your Markdown"Paste a README, a note, a draft. Everything happens inside your browser — nothing is uploaded, so there is nothing for us to store, log or lose.
  2. Read the result as it updatesThere is no button to press. The preview renders beside your text as you type. The output recomputes every time you change the text or one of the options above it.
  3. Use the View control to switch what you are looking atPreview shows the rendered result; the other view shows the HTML it produced, which is what you want when you are checking what will end up in a page.
  4. Expect standard Markdown, not one platform's dialectTables, code fences and task lists work. Anything specific to a particular site's flavour may not, and the tool renders what the specification says rather than guessing which platform you meant.
  5. Remember the preview is not a sanitiserRaw HTML inside Markdown is shown as written. If you are pasting somebody else's content into your own site, that HTML needs cleaning somewhere — it is not cleaned here.
  6. Copy or download the resultThe buttons under the output put it on your clipboard or save it as a file, and each one says exactly what it will copy or download. Any note about something the tool changed or deliberately left alone is shown with the result rather than hidden.

About this tool

Type or paste GitHub-flavoured Markdown and watch it render as you type — headings, tables, task lists, fenced code, strikethrough — then copy or download the HTML.

The rendering pipeline is the point of this tool: conversion by marked (the same GFM dialect GitHub renders), then sanitisation by DOMPurify before anything touches the page. Markdown may legitimately embed raw HTML, which means it may embed scripts; here they are stripped at the moment of rendering, and the tool tells you when that happened.

Understanding the result

The preview is the sanitised rendering — what the Markdown looks like as a document. The HTML tab shows the exact markup the preview is rendered from, and the copy and download buttons give you that same sanitised HTML.

Single newlines stay soft, as on GitHub: a hard-wrapped paragraph renders as one paragraph. Two newlines make a new one.

A note under the result tells you when raw HTML was present in the input and when sanitisation removed something unsafe — silence means the conversion was exactly what it looks like.

Example

Input

# Release 1.2

- [x] SSRF matrix green
- [ ] content review

See the **runbooks** for detail.

Output

<h1>Release 1.2</h1>
<ul>
<li><input checked disabled type="checkbox"> SSRF matrix green</li>
<li><input disabled type="checkbox"> content review</li>
</ul>
<p>See the <strong>runbooks</strong> for detail.</p>

Limitations

  • This renders the GitHub flavour of Markdown. Other dialects (CommonMark strict, MultiMarkdown, wiki markup) mostly agree but differ at the edges — footnotes and definition lists, for example, are not GFM and render as plain text.
  • Scripts, event handlers and other active content are always removed from the output. If you need the raw unsanitised conversion, run marked in your own build where you control the trust boundary.
  • Syntax highlighting inside code fences is not applied — the language is recorded on the code block (class="language-…") for your own highlighter to use.
  • Relative links and images render as written; they will only resolve wherever the HTML finally lives.

Questions

Is my Markdown uploaded anywhere?

No. The whole tool is JavaScript running on your device — there is no request to send. You can confirm it by opening your browser's network tab, or by disconnecting from the internet and using the page anyway.

Why does my line break not show in the preview?

GitHub-flavoured Markdown treats a single newline as a soft break — part of the same paragraph. End a line with two spaces, or leave a blank line, to break it. This matches what GitHub will do to the same text.

Why was my embedded HTML changed?

Markdown allows raw HTML, and raw HTML allows scripts — so the preview sanitises everything before rendering, and the copy button gives you the sanitised version. The note under the result says when something was removed. Structural HTML (divs, tables, images without event handlers) passes through intact.

Can I use the HTML output in my site or email?

Yes — that is what the copy and download buttons are for. The HTML is a fragment (no <html> or <head> wrapper) and carries no styles, so it will take on the typography of wherever you place it.

Last updated 2026-08-16.

Related tools