Markdown Preview
Write Markdown, see the rendered preview, copy or download the HTML.
Preview Markdown live as you type, convert Markdown to HTML, and copy or download the result. GitHub Flavored Markdown supported. Free, offline, runs in your browser. Read more Show less
What is Markdown?
Markdown is a lightweight markup language created by John Gruber in 2004. It lets you write formatted text using plain punctuation: # Heading for a title, **bold** for emphasis, [text](url) for a link. The result is easy to read as plain text and easy to convert to HTML.
It is used everywhere: README files on GitHub, documentation sites, blog posts, notes apps, chat messages (Slack, Discord, Telegram), issue trackers, and even this site's own FAQ content. If you write anything technical, you already write Markdown.
How to use this preview
Type Markdown into the left box. The right box updates live with the rendered HTML. Below the split view, you can copy or download the raw HTML output.
Use the preset dropdown for a quick syntax tour. All processing happens in your browser - nothing is sent anywhere.
Common syntax
| You write | You get |
|---|---|
# Heading | A level-1 heading |
**bold** | bold |
*italic* | italic |
[text](url) | A hyperlink |
 | An image |
- item | A bulleted list item |
1. item | A numbered list item |
> quote | A blockquote |
`code` | Inline code |
| Three backticks + language | A fenced code block |
--- | A horizontal rule |
Markdown flavors
CommonMark is the strict specification. It defines the core syntax unambiguously, so every compliant parser produces the same output.
GitHub Flavored Markdown (GFM) is CommonMark plus tables, strikethrough (~~text~~), task lists (- [x] done), and autolinks. It is the format you see in GitHub READMEs and issue comments. Enable the GFM option to use it.
Other flavors exist: MultiMarkdown, Pandoc, kramdown, and the original Gruber spec. This tool uses CommonMark + GFM, which is what almost every modern tool expects.
FAQ
Is it safe to paste Markdown with HTML in it?
By default, yes - this tool runs DOMPurify on the rendered HTML, which removes <script>, event handlers like onclick, and javascript: URLs. If you are pasting trusted content and want to see raw HTML pass through, disable the sanitize option. Only do that if you trust the source.
Do you save my content?
No. Everything runs in your browser. The Markdown you type never leaves your device. If you reload the page, it is gone - unless you enable "Remember input" in the settings panel, which stores it in your browser's localStorage.
Does the preview update as I type?
Yes, if "Auto Update" is on (the default). Turn it off to update only when you press the Execute button - useful for very large documents.
Does this support tables?
Yes, when GFM is enabled (the default). Tables use pipe syntax: | column | column | on one line, a separator row |---|---|, then your data rows.
Does it support task lists and checkboxes?
Yes. Write - [ ] todo or - [x] done. GFM will render them as disabled checkboxes.
What about math and diagrams?
Not currently. Markdown itself does not include math or diagrams - those are extensions provided by separate renderers (KaTeX, Mermaid). If demand is high, a follow-up tool can add them.
Can I use this as a Markdown to HTML converter?
Yes. Type your Markdown, then copy the HTML from the output box, or click the download button to save it as a .html file. The output is a clean HTML fragment, not a full document.
Which flavor does GitHub use?
GitHub Flavored Markdown - the same one this tool uses when the GFM option is on. If you are writing a README, keep GFM on.
Command line equivalent
# Pandoc
pandoc input.md -o output.html
pandoc input.md -o output.html --standalone
# Node with marked
npm i marked
node --input-type=module -e '
import { marked } from "marked";
console.log(marked.parse("# hello"));
'
# Python with markdown
pip install markdown
python3 -c 'import markdown; print(markdown.markdown("# hello"))'
# GitHub CLI preview
gh markdown preview input.md