๐Ÿ“‹developer

Markdown Tables, Checklists, and Formatting: The Parts Most Guides Skip

Markdown basics are everywhere. What's harder to find: tables, footnotes, task lists, extended syntax, and the quirks that trip people up. All in one place.

PSBy Priya Shah ยท Senior Software EngineerJanuary 20, 2026Updated February 22, 20266 min read
Free to read

Advertisement

Frequently Asked Questions

How do I create a table in Markdown?+
Markdown tables use pipe | characters to separate columns and dashes --- to create the header separator row. Example: | Name | Age | Role | then a separator row | --- | --- | --- | then data rows | Alice | 32 | Developer |. Column widths don't need to be aligned (though aligned versions are more readable in source). The minimum separator is three dashes ---. Alignment can be set with colons: :--- for left align, :---: for center, ---: for right. Not all Markdown parsers support tables (it's a CommonMark extension, not base Markdown), but GitHub, GitLab, VS Code, and most modern processors do.
What's the difference between Markdown and CommonMark?+
Markdown was created by John Gruber in 2004 and was intentionally left loosely specified โ€” Gruber never published a formal grammar. This led to different tools implementing Markdown differently, producing inconsistent output for ambiguous cases. CommonMark is a strict, unambiguous specification created in 2014 by a group including Stack Overflow, GitHub, and Reddit developers. It specifies exact behavior for every edge case. GitHub Flavored Markdown (GFM) extends CommonMark with tables, task lists, strikethrough, and other features. Most modern tools target GFM or CommonMark rather than the original Gruber spec.
How do I escape special characters in Markdown?+
Use a backslash before the character. \*asterisk\* renders as *asterisk* (not italic). Characters that may need escaping: \ ` * _ { } [ ] ( ) # + - . ! |. In most contexts, a backslash before any punctuation character will prevent it from being interpreted as Markdown syntax. Inside code spans (backticks) and fenced code blocks, no escaping is needed โ€” everything is treated as literal text.

Advertisement

๐Ÿ”ง Free Tools Used in This Guide

PS

Priya Shah

Senior Software Engineer ยท 9+ years experience

Priya has nine years of experience building distributed systems and developer tooling at two B2B SaaS companies. She writes about APIs, JSON/JWT workflows, regex, DevOps, and the small utilities that make debugging faster at 2am.

View all posts by Priya Shah โ†’

Tags:

markdownformattingdocumentationwriting