Markdown explained: the syntax you actually use

5 min readUpdated May 24, 2026

Markdown lets you write formatted text in plain characters that stay readable as source. It powers READMEs, docs, issues, and notes everywhere. Here is the syntax you will reach for daily.

Text formatting

  • # H1, ## H2, ### H3 — headings by leading hashes.
  • bold, *italic*, ~~strikethrough~~.
  • text — a link. !alt — an image.
  • > quote — a blockquote. --- — a horizontal rule.

Preview any Markdown live in the Markdown Previewer.

Lists

- bullet
- bullet
  - nested (indent 2 spaces)

1. numbered
2. numbered

- [ ] todo (unchecked)
- [x] done

Code and tables

Inline code uses single backticks; fenced blocks use triple backticks with an optional language for highlighting. Tables use pipes:

| Name | Role  |
| ---- | ----- |
| ada  | admin |
| lin  | dev   |

Flavors: CommonMark vs GFM

Plain Markdown has no standard for tables, task lists, or strikethrough. CommonMark is the strict spec; GitHub Flavored Markdown (GFM) adds tables, task lists, autolinks, and strikethrough. Most platforms use GFM or a close variant.

Markdown allows raw HTML, so anything Markdown can’t express you can write as HTML inline — handy for the occasional complex layout.

Frequently asked questions

What is the difference between CommonMark and GitHub Flavored Markdown?
CommonMark is the strict, unambiguous spec. GFM extends it with tables, task lists, strikethrough, and autolinks. Most tools implement GFM or something close to it.
Can I use HTML inside Markdown?
Yes. Most parsers pass raw HTML through, so you can drop in tags for anything Markdown cannot express, like complex tables or embeds.
How do I write a table in Markdown?
Use pipes to separate columns and a divider row of dashes under the header. Tables are a GFM feature, not plain CommonMark.
How do I show a code block with syntax highlighting?
Fence the code with triple backticks and add the language name after the opening fence, e.g. ```js.

Try it yourself

Put this guide into practice — these tools run free in your browser.