Markdown preview

Render Markdown to HTML live as you type.

You are writing a README, a ticket description or a blog draft, and you want to know how the headings, that table and the code block will actually land before pasting them anywhere. Type on one side, read the result on the other, and copy the HTML if you need it.

How it works

How it renders

The preview refreshes a moment after you stop typing (about 150 ms), so it keeps up without flickering on every keystroke. A counter under the editor tracks the character count, which helps when a field has a limit. Copy HTML places the generated markup on your clipboard and Clear empties the editor.

Which syntax works

GitHub-flavored Markdown is enabled, so beyond the basics you get:

  • Tables built with | pipes
  • Fenced code blocks using triple backticks
  • Task lists — - [ ] and - [x]
  • Strikethrough with ~~text~~
  • Bare URLs turned into links automatically

Single line breaks are honoured here, which differs from strict Markdown, where a new paragraph needs a blank line or two trailing spaces. Text that looks correctly broken in this preview may collapse into one paragraph in a renderer without that setting.

About HTML in the input

Raw HTML is passed through a sanitizer before it reaches the preview, so scripts and event handlers are stripped out while ordinary formatting tags survive. That also means the HTML you copy is the cleaned version, not a verbatim copy of what you typed. Everything is processed in your browser — nothing you write is uploaded.

Terms explained

Markdown
A plain-text formatting syntax where marks such as `#` and `*` stand in for headings and emphasis.
GFM
GitHub-Flavored Markdown, an extension adding tables, task lists, strikethrough and automatic links.
Fenced code block
Code wrapped in triple backticks, kept exactly as written instead of being reformatted.
Sanitizing
Stripping tags and attributes that could execute code, so the rendered HTML is safe to display.
Soft line break
A single newline. Shown as a real line break here, but ignored by strict Markdown parsers.

Frequently asked questions

Does the preview match GitHub exactly?

Close, but not identical. Core GFM syntax renders the same way, while GitHub extras such as issue references, @mentions and emoji shortcodes are platform features that will not resolve here.

Why is my table not rendering?

A table needs a separator row of dashes directly beneath the header, like `| --- | --- |`, with no blank line between them. A missing or misaligned separator makes the whole block fall back to plain text.

Can I paste HTML into the editor?

Yes, and it will render, but it passes through a sanitizer first. Formatting tags survive while scripts, iframes and event attributes are removed.

Is my draft saved anywhere?

No. Everything lives in the page and is discarded when you close or reload the tab, so copy anything you want to keep before leaving.

Why does the copied HTML look different from what I wrote?

What you copy is the sanitized, rendered output rather than your source. Escaped characters, normalized attributes and removed tags account for the differences.