UseToolSuite UseToolSuite

Markdown Preview

Write Markdown and see a live rendered HTML preview side by side. Free online Markdown editor and previewer — no signup, no installation, works in your browser.

Preview will appear here as you type...

GitHub Flavored Markdown extensions

GitHub Flavored Markdown (GFM) extends standard CommonMark with task lists (- [x] Done), tables using pipe syntax, strikethrough with double tildes (~~deleted~~), autolinked URLs, fenced code blocks with syntax highlighting, and footnotes. This preview renders all GFM extensions so you can verify your README, documentation, or issue descriptions look correct before committing. The preview matches GitHub's rendering engine, including heading anchors, emoji shortcodes, and alert blocks like > [!NOTE] callouts introduced in 2023.

Why a live preview matters

Markdown’s whole promise is that the source is readable on its own — but the gap between what you type and what renders is exactly where mistakes hide. A table missing its separator row, a list that flattened because of inconsistent indentation, a link with a stray space — none of these are visible until something renders them. Writing with the rendered output beside you closes that loop instantly: you see the broken table the moment you type it, not after you publish.

The rules that catch everyone

A handful of CommonMark behaviors surprise newcomers because Markdown’s whitespace handling is deliberate, not accidental:

You typedYou expectedWhat actually happens
One newline between linesA line breakLines join into one paragraph
A table with no |---| rowA tableRenders as plain text
* item with 1-space sublistsNested listSublist flattens
Heading with no blank line beforeA headingSometimes not parsed

The fixes: end a line with two spaces (or a blank line) to force a break; always include the |---| separator under table headers; indent nested list items by 2–4 spaces consistently; and leave a blank line before block elements like tables and headings.

Markdown and HTML mix

CommonMark lets you drop raw HTML straight into Markdown, which is the escape hatch for anything Markdown can’t express — <details>/<summary> accordions, a styled <div>, an iframe embed. The preview renders both together. This is powerful, but it’s also why rendering untrusted Markdown is a security concern: any HTML (including <script>) passes through unless the renderer sanitizes it. For your own writing that’s a feature; for user-submitted Markdown, sanitize the output.

From preview to published HTML

When you’re happy with the render, the underlying HTML is clean and ready to paste into a web page, email template, or CMS. If you need the conversion as a repeatable step rather than a copy-paste — or you want to go the other direction, HTML back to Markdown — the dedicated Markdown to HTML converter handles both directions.

Last updated Built and maintained by Necmeddin Cunedioglu How tools are tested

How helpful was this tool?

Click to rate

Key Concepts

CommonMark

A strongly defined, unambiguous specification for Markdown syntax created to resolve inconsistencies between different Markdown implementations. CommonMark precisely defines how edge cases should be handled, ensuring that the same Markdown produces identical output across all compliant renderers.

GitHub Flavored Markdown (GFM)

An extension of CommonMark used on GitHub that adds tables (pipe syntax), task lists (- [ ]), strikethrough (~~text~~), autolinked URLs, and fenced code blocks with syntax highlighting. GFM is the de facto standard for developer documentation and README files.

Frequently Asked Questions

Which Markdown flavor does this tool support?

The tool supports standard CommonMark Markdown with GitHub Flavored Markdown (GFM) extensions. This includes tables, task lists, strikethrough, fenced code blocks, and autolinked URLs.

Can I export the rendered HTML?

The tool shows a live preview of the rendered Markdown. You can view the raw HTML output and copy it for use in your projects. The HTML output is clean and ready to use in web pages or email templates.

Does the preview support syntax highlighting in code blocks?

The preview renders fenced code blocks with proper formatting. Syntax highlighting depends on the rendering library used — basic code block styling is applied, making code readable and visually distinct from surrounding text.

Can I use HTML tags inside the Markdown?

Yes. Standard Markdown allows inline HTML tags. You can mix HTML and Markdown syntax, and the preview will render both correctly. This is useful for adding elements like detail/summary accordions or custom divs.

Which Markdown flavor should I write for maximum portability?

Stick to CommonMark plus the most widely-supported GitHub Flavored Markdown (GFM) features, and avoid platform-specific extensions. CommonMark is the unambiguous base that every modern renderer agrees on; GFM adds tables, task lists, strikethrough, and fenced code blocks that GitHub, GitLab, and most static-site generators support. What breaks portability is reaching for niche syntax — footnotes, definition lists, custom containers, or HTML-heavy tricks that only one platform renders. If your content needs to look right in GitHub, a docs site, and a CMS, write CommonMark + core GFM and you'll rarely be surprised.

How do I show a literal * or # without it turning into formatting?

Escape the character with a backslash. Writing \* produces a literal asterisk instead of starting italics, and \# produces a literal hash instead of a heading. The characters that usually need escaping are * _ ` # [ ] ( ) and the backslash itself. Alternatively, wrap literal text in backticks to render it as inline code (`*literal*`), which displays the characters verbatim and is handy for showing Markdown syntax inside Markdown. For a block of literal symbols, a fenced code block (```) disables all formatting inside it.

Troubleshooting & Technical Tips

Table not rendering: Pipe (|) characters appear as plain text

For Markdown tables to render correctly, a separator row (|---|---|) must be present between the header row and data rows. If the separator row is missing or incorrectly formatted, the table will be displayed as plain text. Also make sure to leave a blank line before the table; tables written immediately after a paragraph will not be parsed.

Line break not working: Single Enter does not create a new line

In the CommonMark specification, a single line break ( ) does not create a new paragraph. To add an inline line break (<br>), add two spaces (trailing spaces) at the end of the line, or use the HTML <br> tag. To create a new paragraph, leave two consecutive line breaks (an empty line).

Nested list indentation broken: Sublists appear flattened

Markdown nested lists require at least 2-4 spaces of indentation for each level. Different Markdown processors have different indentation requirements — the CommonMark standard requires a minimum of 2 spaces, while GFM expects 4 spaces. Avoid mixing tabs and spaces, and indent each sublevel consistently with 4 spaces.

Related Guides

Related Tools

Embed this tool on your site

Paste this snippet into any HTML page or blog post to embed a live, fully working copy of Markdown Preview. Free for any use.