Markdown Parser

Parse and preview Markdown in real-time. Supports GFM tables, task lists, strikethrough, and more. All processing done in your browser.

Live Preview GFM Support Client-Side Processing

HTML preview will appear here...

How to Use Markdown Parser

1

Write Markdown

Type or paste your Markdown content in the editor on the left.

2

Live Preview

See the rendered HTML output in real-time on the right panel.

3

Copy HTML

Copy the generated HTML to use in your projects.

What is Markdown?

Markdown is a lightweight markup language created by John Gruber in 2004. It uses plain text formatting syntax that can be converted to HTML and many other formats. Markdown is widely used for documentation, README files, blog posts, and messaging platforms.

Supported Syntax

Headings

H1 through H6 using # syntax

Text Formatting

Bold, italic, strikethrough, inline code

Lists & Tables

Ordered, unordered, task lists, and GFM tables

Code Blocks

Fenced code blocks with syntax highlighting

Frequently Asked Questions

What is GFM?

GFM (GitHub Flavored Markdown) is a dialect of Markdown used by GitHub. It extends standard Markdown with features like tables, task lists, strikethrough text, and autolinks.

Does it support syntax highlighting?

The parser renders fenced code blocks. For full syntax highlighting with colors, you can combine it with a CSS stylesheet that styles code elements.

Can I use this for my documentation?

Yes! Write your Markdown in the editor, copy the rendered HTML, and use it in your documentation, blog, or website.

What is the difference between Markdown, CommonMark, and GFM?

Original Markdown (2004) left many edge cases undefined, so implementations diverged. CommonMark is the rigorous specification that resolves them; GFM (GitHub Flavored Markdown) is CommonMark plus extensions: tables, task lists, strikethrough, autolinks, and a disallowed-raw-HTML filter. This tool renders GFM, matching what you see on GitHub.

How do I write code blocks and inline code?

Wrap inline code in single backticks. Fenced blocks use triple backticks with a language tag for syntax highlighting - like ```python on the opening line - or indent every line by four spaces (the older syntax, which interacts badly inside lists). Triple tildes also work as a fence when your code itself contains backticks.

Can I embed raw HTML in Markdown?

Yes - inline HTML tags pass through to the output. GFM's disallowed-raw-HTML extension only strips a few dangerous tags (script, style, iframe and friends) when the filter is enabled. Two caveats: block-level HTML envelopes content where Markdown syntax stops being processed inside (blank lines matter), and any user-submitted Markdown must be sanitized against XSS beyond a tag filter.

How do tables work in GFM?

Pipe-separated rows with a delimiter line of hyphens under the header. Colons set alignment: colon-dash on the left is left (the default), colons on both ends center, dash-colon right. Cells cannot contain block elements; escape a literal pipe as \|; and the outer pipes on each row are optional. More complex layouts need raw HTML or a docs engine.

Why do my lists or nested items render wrong?

The usual suspects: inconsistent indentation (nested items typically need alignment with the first character of the parent item's content), a missing blank line between a paragraph and a list, or tabs mixed with spaces. CommonMark specifies exact rules for all of these. Converting tabs to spaces and adding blank lines around lists fixes the vast majority of nesting bugs.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}