Markdown Variants
Interactive comparison of CommonMark, GFM, MDX, and Obsidian-flavored markdown. Same source, different renderings.
The unambiguous specification. Foundation for all other dialects. No tables, no task lists, no strikethrough.
Markdown Source
# Markdown Variants Demo
This content demonstrates differences between markdown dialects.
## Basic Formatting
This is **bold**, *italic*, and ~~strikethrough~~ text.
## Table
| Feature | CommonMark | GFM | MDX | Obsidian |
|---------|-----------|-----|-----|----------|
| Tables | No | Yes | Yes | Yes |
| Task lists | No | Yes | Yes | Yes |
| Strikethrough | No | Yes | Yes | Yes |
| Components | No | No | Yes | No |
| Wikilinks | No | No | No | Yes |
| Callouts | No | No | No | Yes |
## Task List
- [x] Completed task
- [ ] Pending task
- [ ] Another task
## Autolinks
Visit https://example.com for more info.
## Code
```javascript
const x = 42;
console.log(x);
```
## Extended Syntax
> [!note] This is an Obsidian callout
> Only rendered in Obsidian-flavored markdown.
[[Internal Link]] — Wikilink syntax (Obsidian only)
import { Component } from './Component' — MDX import (MDX only)
Rendered (CommonMark)
Processing...
Key Differences
| Feature | CommonMark | GFM | MDX | Obsidian |
|---|---|---|---|---|
| Tables | No | Yes | Yes | Yes |
| Task lists | No | Yes | Yes | Yes |
| Strikethrough | No | Yes | Yes | Yes |
| Autolinks | No | Yes | Yes | Yes |
| Components | No | No | Yes (JSX) | No |
| Wikilinks | No | No | No | Yes |
| Callouts | No | No | No | Yes |
| Embeds | No | No | Yes (imports) | Yes (![[file]]) |
| Math | No | No | Plugin | Yes (KaTeX) |
| Mermaid | No | No | Plugin | Yes |
| Frontmatter | No | No | Yes | Yes |
Recommendation
Start with CommonMark + GFM — it covers 90% of use cases and is universally supported. Add Obsidian-style callouts and wikilinks via remark plugins as needed. MDX is powerful but couples you to a framework.