Blog
Wild & Free Tools

GitHub Flavored Markdown (GFM) — Complete Guide and Live Preview

Last updated: April 2026 7 min read
Quick Answer

Table of Contents

  1. GFM vs standard Markdown
  2. GFM tables
  3. GFM strikethrough and task lists
  4. Previewing GFM before pushing to GitHub
  5. GFM in other platforms
  6. Frequently Asked Questions

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:

FeatureStandard MarkdownGFM
TablesNoYes
StrikethroughNoYes (~~text~~)
Task listsNoYes (- [x] item)
Fenced code blocksIndented onlyBoth (with language tags)
Auto-linksManual onlyAuto URL detection
@mentionsNoYes (on GitHub)
#issue referencesNoYes (on GitHub)
Emoji shortcodesNoYes (: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 Shipping

Strikethrough, 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:

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 Preview

Frequently 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.

Andrew Walsh
Andrew Walsh Developer Tools & API Writer

Andrew worked as a developer advocate at two SaaS startups writing API documentation used by thousands of engineers.

More articles by Andrew →
Launch Your Own Clothing Brand — No Inventory, No Risk