Markdown Preview
Write or paste Markdown and see it rendered GitHub-style, with an outline, word count and the HTML to copy. Nothing in it can run.
Markdown
Preview
The rendered document appears here as you type.
Runs in your browser — nothing you enter leaves this device.
About this tool
What it does
Markdown is the plain-text format behind READMEs, documentation, issue comments and many notes apps. This tool shows how a Markdown document will look as you type, following GitHub-flavoured Markdown: headings, lists, links, fenced code blocks, tables with column alignment, task lists and strikethrough. Beside the preview it builds an outline of the headings you can jump through, counts words and reading time, and gives you the generated HTML to paste into a CMS, an email template or a static page. The preview is built so that nothing in a document can run: raw HTML is shown as text, links only open for web, email and phone addresses, and images from other websites are not loaded.
How to use it
- Write or paste Markdown on the left, or press “Try an example” to see every feature.
- Read the rendered document on the right. It updates as you type.
- Use the outline under the editor to jump to a heading in the preview.
- Switch the right-hand side to HTML to see the markup, and use the copy button to copy it.
- Read the notes under the preview if the document has raw HTML, links that aren’t opened, or images.
Limits and your data
- It follows GitHub-flavoured Markdown for the common features. GitHub-only extras — alerts such as > [!NOTE], footnotes, math, Mermaid diagrams, emoji shortcodes and @mentions — appear as plain text.
- Raw HTML is shown as text in the preview, never rendered. The copied HTML keeps it exactly as you wrote it.
- Relative links and images (./docs/setup.md, images/logo.png) point at your own repository or site, so here they are shown but not followed or loaded. Images embedded as data: URLs are shown.
- Heading ids follow GitHub’s rules, so #section links usually work, but unusual punctuation may give a slightly different id.
- Input is limited to 1 MB.
- Your document is rendered in your browser and is not uploaded or saved — closing or reloading the page clears it, so keep your own copy. The preview never loads images from other websites, which also means a tracking pixel in a pasted document can’t tell anyone you opened it.
Questions
Is this the same as GitHub’s rendering?
For everyday Markdown — headings, emphasis, lists, links, code blocks, tables, task lists and strikethrough — yes: it uses the GitHub-flavoured Markdown rules. GitHub adds its own extensions (alerts, footnotes, math, diagrams) on top, which are shown as plain text here.
Why isn’t my HTML rendered?
So that a pasted document can never run a script or load something from another site in this page. Markdown allows raw HTML, and rendering it safely would need the page to judge which tags are harmless. Showing it as text keeps the preview honest, and the HTML you copy still contains it.
Why don’t my images show?
Loading an image from a URL sends a request to that website, with your IP address. The preview doesn’t do that, so documents are private to you. Images written as data: URLs are part of the text and are displayed.
How do I make a table?
Write the header row with cells separated by |, then a row of dashes, then the data rows: | Name | Age |, then |---|---:|, then | Asha | 31 |. A colon on the right of the dashes aligns that column right, on both sides centres it.
How is reading time worked out?
Words divided by 200 words a minute, rounded up — a common estimate for technical reading. Code blocks count as words, since readers do read them.