GitHub Flavored Markdown (GFM) — Complete Guide and Live Preview
- GitHub Flavored Markdown (GFM) extends standard Markdown with tables, task lists, and more
- Preview GFM-compatible syntax with the free online Markdown Preview tool
- Covers all key GFM extensions: tables, strikethrough, task lists, code blocks with syntax highlighting
- No signup needed — paste and preview instantly
Table of Contents
GitHub Flavored Markdown (GFM) is GitHub's extended version of standard Markdown. It adds several features that standard Markdown doesn't support — tables, strikethrough text, task lists, and fenced code blocks with syntax highlighting. If you write README files, GitHub wiki pages, or pull request descriptions, you're writing GFM. This guide covers every GFM extension with examples you can paste directly into the live preview tool to see them rendered.
GitHub Flavored Markdown vs Standard Markdown
Standard Markdown (the original Gruber spec from 2004) covers the essentials: headings, bold, italic, links, images, code, blockquotes, and lists. GFM adds:
| Feature | Standard Markdown | GFM |
|---|---|---|
| Tables | No | Yes |
| Strikethrough | No | Yes (~~text~~) |
| Task lists | No | Yes (- [x] item) |
| Fenced code blocks | Indented only | Both (with language tags) |
| Auto-links | Manual only | Auto URL detection |
| @mentions | No | Yes (on GitHub) |
| #issue references | No | Yes (on GitHub) |
| Emoji shortcodes | No | Yes (:rocket:) on GitHub |
Most GFM extensions are now part of CommonMark (the modern standard), so you'll find them in most Markdown renderers. The @mentions, #references, and emoji shortcodes are GitHub-specific and only work on GitHub's platform.
GFM Tables — Syntax and Examples
GFM tables use pipe characters to separate columns and dashes to create the header separator:
| Tool | Price | Export Formats | |---------|--------|----------------| | Tool A | Free | HTML, PDF | | Tool B | $10/mo | PDF only | | Tool C | Free | HTML |
Column alignment with colons:
| Left | Center | Right | |:-------|:-------:|-------:| | text | text | text | | value | value | value |
Paste these into the Markdown Preview tool to see them render as formatted HTML tables.
Rules: every row must have the same number of pipes. The separator row must contain at least one dash per column. Spaces around the pipes are optional.
Sell Custom Apparel — We Handle Printing & Free ShippingStrikethrough, Task Lists, and Other GFM Extensions
Strikethrough: Wrap text in double tildes for strikethrough formatting.
~~This text is struck through~~
Renders as: This text is struck through
Task lists: A GFM extension for interactive checklists. Widely used in README files and GitHub issues.
- [x] Design complete - [x] Development done - [ ] Testing in progress - [ ] Documentation pending
In GitHub's interface, these checkboxes are clickable. In a generic renderer (like this preview tool), they render as checked or unchecked checkboxes but aren't interactive.
Fenced code blocks with language tags: Triple backticks with a language identifier produce syntax-highlighted code blocks.
```javascript
const greet = (name) => console.log(`Hello, ${name}!`);
greet('World');
```
GitHub supports 100+ language identifiers. Common ones: javascript, python, bash, go, rust, sql, yaml, json.
How to Preview GFM Content Before Pushing
The free Markdown Preview tool renders standard Markdown including tables, fenced code blocks, and strikethrough — the core GFM extensions that most renderers support.
What it renders correctly: all standard Markdown elements, tables, fenced code blocks with syntax tokens (visual fencing, not GitHub's live highlighting), strikethrough, inline HTML.
What requires GitHub's renderer to appear correctly: interactive task checkboxes, @mentions, #issue links, emoji shortcodes, and GitHub-specific alerts ([!NOTE], [!WARNING]).
For a typical README with headings, a table, code examples, and a feature list — the preview is accurate enough to catch 95% of formatting problems before pushing. Related: Preview Your GitHub README Online.
GitHub Flavored Markdown in Other Platforms
GFM has become the de facto Markdown standard beyond GitHub. These platforms support most or all GFM syntax:
- GitLab: Supports GFM including tables, task lists, and code fencing
- Bitbucket: Supports core GFM syntax in README files and wikis
- Notion: Supports GFM syntax when imported or pasted with Markdown formatting
- Obsidian: Supports GFM tables and checkboxes natively
- Discord: Supports a subset of Markdown for message formatting (bold, italic, code blocks)
- Slack: Supports limited Markdown-style formatting in messages
- VS Code: Full GFM rendering in the built-in Markdown preview
When in doubt, write the Markdown and paste it into the preview tool to confirm it renders correctly for your target platform's GFM level.
Preview GitHub Flavored Markdown Free — No Account
Paste your GFM content and see tables, code blocks, strikethrough, and task lists rendered instantly. No GitHub account required.
Open Free Markdown PreviewFrequently Asked Questions
What is GitHub Flavored Markdown (GFM)?
GitHub Flavored Markdown (GFM) is GitHub's extended version of standard Markdown. It adds tables, strikethrough text, task lists, fenced code blocks with syntax highlighting, and GitHub-specific features like @mentions, #issue references, and emoji shortcodes.
Can I preview GitHub Flavored Markdown online?
Yes. Paste your GFM content into WildandFree's Markdown Preview tool to see standard GFM elements rendered — tables, code blocks, strikethrough, lists. GitHub-specific extensions like @mentions and emoji shortcodes require GitHub's own renderer.
What is the difference between GFM and CommonMark?
CommonMark is an unambiguous specification of standard Markdown. GFM is a superset of CommonMark — it includes everything in CommonMark plus GitHub-specific extensions (tables, strikethrough, task lists, @mentions, emoji). Most modern Markdown renderers are CommonMark-compliant and support GFM tables and strikethrough.
Does GFM work in Notion, Obsidian, and other apps?
Most GFM syntax — tables, fenced code blocks, strikethrough — works in Notion, Obsidian, GitLab, and Bitbucket. GitHub-specific features like @mentions, #issue references, and GitHub Alerts only work within GitHub's platform.

