Markdown Cheat Sheet
Markdown is a simple way to format text that looks great on any device. It doesn’t do anything fancy like change the font size, color, or type – just the essentials, using keyboard symbols you already know. This is the complete reference: every rule shown next to its rendered result.
Headings
Use # symbols before your text – one # for the biggest heading, up to six for the smallest. The top two levels also have an “underline” style.
| Markdown | Result |
|---|---|
# Heading 1 | Heading 1 |
## Heading 2 | Heading 2 |
### Heading 3 | Heading 3 |
#### Heading 4 | Heading 4 |
##### Heading 5 | Heading 5 |
###### Heading 6 | Heading 6 |
Emphasis
Wrap text in symbols to make it bold, italic, or struck through. Asterisks and underscores work the same way.
| Markdown | Result |
|---|---|
*Italic*
_Italic_ | Italic |
**Bold**
__Bold__ | Bold |
***Bold & italic*** | Bold & italic |
~~Strikethrough~~ |
Blockquotes
Start a line with > to quote text. Add another > to nest quotes, and blank > lines to separate paragraphs.
| Markdown | Result |
|---|---|
> This is a blockquote. | This is a blockquote. |
> First paragraph.
>
> Second paragraph. |
|
> Level one
>> Level two | Level oneLevel two |
Lists
Bullet lists start with -, *, or +. Numbered lists use 1., 2., 3. Indent by two spaces to nest a sub-list.
| Markdown | Result |
|---|---|
- First item
- Second item
- Third item |
|
1. First item
2. Second item
3. Third item |
|
1. First item
- Sub-item
- Sub-item
2. Second item |
|
Task lists
Add [ ] for an empty checkbox or [x] for a checked one right after the bullet. Great for to-do lists on GitHub.
| Markdown | Result |
|---|---|
- [x] Learn Markdown
- [ ] Master Markdown
- [ ] Teach a friend |
|
Links
Put the visible text in [ ] and the address in ( ). Reference links keep the address at the bottom, and bare URLs become links automatically.
| Markdown | Result |
|---|---|
[Markdown69](https://markdown69.com) | Markdown69 |
[Hover me](https://markdown69.com "Best cheat sheet") | Hover me |
[Reference link][site] | Reference link |
<https://markdown69.com> | https://markdown69.com |
[Jump to top](#top) | Jump to top |
Images
The same as links, with a ! in front. The text in [ ] becomes the alt text shown when the image can’t load.
| Markdown | Result |
|---|---|
 | |
 | |
[](https://markdown69.com) |
Code
Wrap inline code in single backticks. For a whole block, use three backticks (optionally naming the language) or indent every line by four spaces.
| Markdown | Result |
|---|---|
Use the `print()` function. | Use the print() function. |
```
plain code block
``` | |
```python
def hello():
print("Hi!")
``` | |
Tables
Separate columns with pipes | and the header from the body with dashes -. Add colons : in the divider row to align a column left, center, or right.
| Markdown | Result | ||||||
|---|---|---|---|---|---|---|---|
| Syntax | Description |
| ------ | ----------- |
| Header | Title |
| Cell | Text | |
| ||||||
| Left | Center | Right |
| :--- | :----: | ----: |
| a | b | c | |
|
Horizontal rule
Three or more dashes, asterisks, or underscores on their own line draw a divider.
| Markdown | Result |
|---|---|
---
***
___ |
Line breaks
End a line with two spaces to break it without starting a new paragraph. A blank line always starts a new paragraph.
| Markdown | Result |
|---|---|
First line··
Second line | First line |
New paragraph | New paragraph after a blank line |
Escaping characters
Put a backslash \ before a symbol to show it literally instead of formatting the text.
| Markdown | Result |
|---|---|
\*Not italic\* | *Not italic* |
1\. Not a list | 1. Not a list |
Footnotes
Mark a spot with [^1] and write the note anywhere on its own line. The reader jumps between them by clicking.
| Markdown | Result |
|---|---|
Here is a note.[^1] | Here is a note.1
|
Emoji
Many editors (GitHub, Slack, Discord) turn :shortcodes: into emoji. You can also paste the emoji character directly.
| Markdown | Result |
|---|---|
:tada: Shipped it! :rocket: | 🎉 Shipped it! 🚀 |
Looks good :+1: | Looks good 👍 |
Inline HTML
When Markdown isn’t enough, drop in raw HTML and it renders as-is.
| Markdown | Result |
|---|---|
Text with <sub>subscript</sub> and <sup>superscript</sup>. | Text with subscript and superscript. |
<kbd>Ctrl</kbd> + <kbd>C</kbd> | Ctrl + C |
Embedding videos
Markdown can’t embed a video player, but you can link a thumbnail image to the video. Clicking the image opens the video.
| Markdown | Result |
|---|---|
[](https://youtu.be/VIDEO_ID) |