Markdown #
A by-example reference. Each fenced block shows exactly what you type.
Headings #
# H1
## H2
### H3 (down to ###### H6)
Alt H1
======
Alt H2
------
Emphasis & inline #
*italic* or _italic_
**bold** or __bold__
***bold italic***
~~strikethrough~~
`inline code` and escaped backtick: \`
Lists #
- unordered (also * or +)
- nested two spaces
1. ordered
2. next (numbers needn't be sequential)
- [ ] todo
- [x] done
Links & images #
[text](https://example.com "title")
<https://example.com> autolink
[ref][1] ... [1]: https://example.com

[](https://link) clickable image
Code #
Inline: wrap in single backticks -> `code`
Block: indent four spaces, OR fence with three backticks and
name the language (e.g. python) for syntax highlighting.
Blockquotes #
> A wise turtle once said…
>> nested quote
> **Note:** quotes can hold other Markdown.
Tables #
| Left | Center | Right |
| :--- | :----: | ----: |
| a | b | c |
Rules, breaks & escapes #
--- horizontal rule (or *** / ___)
two spaces at line end -> hard line break
\*not italic\* -> backslash escapes a special char
GitHub extras #
- [ ] task lists render as checkboxes
Footnote.[^1] [^1]: defined anywhere.
> [!NOTE] / [!WARNING] GitHub callout blocks
Auto: #123 issues, @mentions, :tada: emoji shortcodes
HTML & collapsibles #
<details><summary>Click to expand</summary>
Hidden Markdown goes here.
</details>
Inline HTML works: press <kbd>Ctrl</kbd>+<kbd>C</kbd>.
<!-- this comment never renders -->
Leave a blank line after </summary> or the Markdown inside stays raw.
Gotchas #
Escape a table pipe with \|
End a line with two spaces (or \) for a hard break
Indent nested list items to the marker width: 2 for "- ", 3 for "1. "
Put a blank line before a list or table, or it may not render