Markdown Previewer
Write Markdown and see a live HTML preview side by side. Supports tables, code blocks, task lists, and full GitHub Flavored Markdown (GFM). Export the rendered output as HTML.
What is a Markdown Previewer?
A Markdown previewer renders Markdown syntax as formatted HTML in real time as you type. Markdown is a lightweight markup language used for README files, documentation, blog posts, GitHub/GitLab issues and pull requests, Notion pages, Discord and Slack messages, and static site generators. Writing in Markdown is faster than writing raw HTML, but it helps to see exactly how your formatting will render — that's what this tool provides, with full support for GitHub Flavored Markdown (GFM) extensions like tables and task lists.
This tool runs entirely in your browser using the marked.js parser with DOMPurify sanitisation — your content never leaves your device.
What is GitHub Flavored Markdown (GFM)?
GFM is GitHub's extended version of standard Markdown, adding several features not in the original specification:
- Tables — create tables using pipes
|and dashes---for the header separator. - Task lists — checkboxes using
- [ ](unchecked) and- [x](checked), commonly used in issue tracking. - Strikethrough — wrap text in double tildes:
~~deleted text~~. - Fenced code blocks with language hints — triple backticks followed by a language name enable syntax highlighting: ```python.
- Automatic URL linking — bare URLs are automatically converted to clickable links.
- Emoji shortcodes — codes like
:smile:render as emoji on platforms that support them.
How to Use This Tool
- Type or paste Markdown in the left pane — the preview updates instantly as you type.
- Use the formatting toolbar — bold, italic, code, headings, lists, links, and tables can be inserted with one click.
- Switch views — toggle between Split, Edit-only, and Preview-only modes for different screen sizes.
- Export — copy the rendered HTML to your clipboard or download it as a standalone
.htmlfile.
Frequently Asked Questions
<script> tags or event handler attributes. This makes it safe to copy the output into a CMS or website without introducing XSS vulnerabilities from untrusted Markdown content.|---|---|), and at least one data row. Each row must use pipe | characters to separate columns, and the separator row must have at least three dashes per column (or fewer with colons for alignment: :--- left, :---: center, ---: right).language-python), following the standard convention used by highlight.js and Prism.js. To see actual colour syntax highlighting, you would need to load a highlighting library like Prism.js or highlight.js on the page where you embed the exported HTML.**bold** becomes <strong>bold</strong>, # Heading becomes <h1>Heading</h1>, and so on. Markdown is faster to write and more readable as plain text, while HTML offers more precise control and supports elements Markdown doesn't have a syntax for (like <div> with custom classes). Most Markdown parsers also allow inline raw HTML for cases the syntax doesn't cover.<br>. In GFM (used by GitHub), a single newline within a paragraph is also rendered as a line break. To create a new paragraph (with spacing), leave a completely blank line between blocks of text.README.md file in your repository. The preview gives you a close approximation of how it will look on GitHub.