Markdown Flavors: CommonMark vs GitHub Flavored Markdown and More
By the MDConverter team · Updated · 3 min read
Quick answer
CommonMark is the precise, standardized core of Markdown; GitHub Flavored Markdown (GFM) is CommonMark plus five extensions — tables, task lists, strikethrough, autolinks and an HTML filter. Other "flavors" add their own extras (footnotes, math, callouts, wiki links) or, in chat apps like Slack and WhatsApp, use a different, simpler syntax. When text looks different between two apps, a flavor difference is almost always the reason.
Why there are different flavors
John Gruber's original 2004 description left many details open — how to nest lists, whether underscores inside words count, what a blank line in a list means. Each implementation chose its own answers and added features its users needed. CommonMark (2014) settled the core rules with a specification and test suite; most modern tools now build on it and add extensions on top.
Feature comparison
| Feature | Original | CommonMark | GFM (GitHub) | Pandoc | Obsidian |
|---|---|---|---|---|---|
| Headings, emphasis, lists, links, code | Yes | Yes | Yes | Yes | Yes |
| Fenced code blocks | No | Yes | Yes | Yes | Yes |
| Tables | No | No | Yes | Yes | Yes |
Task lists - [ ] |
No | No | Yes | Yes | Yes |
Strikethrough ~~ |
No | No | Yes | Yes | Yes |
| Bare URL autolinks | No | No | Yes | With extension | Yes |
Footnotes [^1] |
No | No | Yes (GitHub.com) | Yes | Yes |
Math $…$ |
No | No | Yes (GitHub.com) | Yes | Yes |
| Alerts / callouts | No | No | Yes (> [!NOTE]) |
No | Yes (> [!info]) |
Wiki links [[Note]] |
No | No | No | No | Yes |
Highlight ==text== |
No | No | No | With extension | Yes |
Footnotes, math and alerts are GitHub.com features layered on top of the published GFM spec, which is why some "GFM" libraries do not include them.
What GFM adds to CommonMark
The GFM specification defines exactly five extensions: tables, task list items, strikethrough, extended autolinks (bare https:// and www. URLs) and the disallowed raw HTML filter (removing tags such as <script>, <iframe> and <style>). Everything else is CommonMark.
Other flavors you will meet
- MultiMarkdown — footnotes, tables, citations, metadata and cross-references; popular for long-form writing.
- Markdown Extra (PHP) — tables, footnotes, definition lists, attribute lists
{#id .class}. - Pandoc Markdown — the most extensive: citations, math, definition lists, divs, fenced attributes. Ideal for academic work and conversions to Word, PDF and LaTeX.
- GitLab Flavored Markdown — GFM plus diagrams, front matter, and references to issues and merge requests.
- R Markdown / Quarto — code chunks that run and insert their output.
- Chat dialects — Discord follows Markdown closely (and adds spoilers and subtext); Slack "mrkdwn" and WhatsApp use single
*for bold and no headings or tables; Teams supports a subset. Converters handle the differences: Markdown to Slack, Markdown to Discord, Markdown to Jira.
Which flavor should you write?
Write GFM. It is the de facto standard: GitHub, GitLab, VS Code, Obsidian, Notion imports, most documentation sites and AI assistants all read it. Avoid app-only syntax (wiki links, ==highlight==, callouts) in files that will be shared or converted, or check that the destination supports it. The Markdown cheat sheet sticks to GFM, and every converter on this site reads GFM.
Tools for this
Frequently Asked Questions About CommonMark vs GFM (flavors)
Comprehensive answers to common technical, formatting, security, and compatibility questions.
Related reading
- What Is Markdown? A Plain-English Explanation — What Markdown is, where it came from, where it is used and what an .md file is.
- Markdown vs HTML: What Is the Difference? — How Markdown relates to HTML, what each can do, and when to mix them.
- How to Add Footnotes in Markdown — Add numbered notes with [^1], write long notes, and know where footnotes are supported.