What is Markdown?
Markdown is a lightweight markup language for creating formatted text using a plain-text editor. It was created by John Gruber in 2004 and is now one of the most popular markup languages in the world.
A complete Markdown syntax reference with copy-paste examples for every element. Use the quick table below, or explore each element interactively.
| Element | Markdown Syntax | Result |
|---|---|---|
| Heading 1 | # Heading 1 | Largest heading |
| Heading 2 | ## Heading 2 | Section heading |
| Bold | **bold text** | bold text |
| Italic | *italic text* | italic text |
| Bold + Italic | ***bold italic*** | bold italic |
| Strikethrough | ~~struck through~~ | struck through |
| Inline code | `code` | code |
| Link | [title](https://example.com) | title (clickable) |
| Image |  | embedded image |
| Unordered list | - Item 1
- Item 2 | bulleted list |
| Ordered list | 1. First
2. Second | numbered list |
| Task list | - [x] Done
- [ ] Todo | checkbox list |
| Blockquote | > quoted text | indented quote |
| Code block | ```js
code
``` | fenced code block |
| Table | | A | B |
| - | - |
| 1 | 2 | | data table |
| Horizontal rule | --- | divider line |
Create headings using # symbols. The number of # symbols determines the heading level (1-6).
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6Alternative syntax for H1 and H2 using underlines.
Heading 1
=========
Heading 2
---------Make text bold using double asterisks or underscores.
**bold text**
__also bold__bold text
also bold
**bold text**__bold text__Make text italic using single asterisks or underscores.
*italic text*
_also italic_italic text
also italic
*italic text*_italic text_Combine bold and italic using triple asterisks or underscores.
***bold and italic***
___also bold and italic___bold and italic
also bold and italic
Strike through text using double tildes.
~~strikethrough text~~strikethrough text
Highlight text using double equals signs. Note: Not standard Markdown.
==highlighted text====highlighted text==
Create bullet lists using dashes, asterisks, or plus signs.
- Item 1
- Item 2
- Nested item
- Another nested
- Item 3- Item
- Item* Item
* Item+ Item
+ ItemCreate numbered lists using numbers followed by periods.
1. First item
2. Second item
3. Third item
1. Nested item
2. Another nestedAutomatically convert URLs to clickable links.
<https://example.com>Embed an image with alt text.
Add a tooltip title to an image.
Make an image clickable by wrapping it in a link.
Format code inline using backticks.
Use `code` inlineUse code inline
Create a code block with syntax highlighting.
```javascript
const greeting = "Hello, World!";
console.log(greeting);
```const greeting = "Hello, World!";
console.log(greeting);Create a code block using 4 spaces indentation.
const greeting = "Hello";
console.log(greeting);const greeting = "Hello";
console.log(greeting);Create tables using pipes and dashes.
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 || Header 1 | Header 2 | Header 3 |
|---|---|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
Align table columns using colons.
| Left | Center | Right |
|:-----|:------:|------:|
| L | C | R || Left | Center | Right |
|---|---|---|
| L | C | R |
Create a blockquote using the > character.
> This is a blockquote.
> It can span multiple lines.This is a blockquote.
It can span multiple lines.
Nest blockquotes using multiple > characters.
> Outer quote
>> Nested quote
>>> Even more nestedOuter quote
Nested quote
Even more nested
Create a horizontal line using three or more dashes, asterisks, or underscores.
---
***
___---***___Create interactive checklists using brackets.
- [x] Completed task
- [ ] Incomplete task
- [ ] Another taskCreate a line break by ending a line with two spaces.
First line
Second lineFirst line
Second line
Escape special characters using backslash.
\*Not italic\*
\# Not a heading*Not italic*
# Not a heading
Insert emojis using shortcodes.
:smile: :heart: :thumbsup::smile: :heart: :thumbsup:
Hide notes in your source using HTML comments. The text is invisible in the rendered output.
<!-- This comment will not appear in the rendered output -->Want more than a quick reference? Each guide covers edge cases, common mistakes, and platform differences for one element.
Core Markdown is the same everywhere, but every platform adds and removes features. Click a platform name for its full cheat sheet.
Prefer a picture? Save or share the Markdown cheat sheet as a single image — handy for pinning in team chats, wikis, and study notes.
Download image (PNG)Markdown is a lightweight markup language for creating formatted text using a plain-text editor. It was created by John Gruber in 2004 and is now one of the most popular markup languages in the world.
While core Markdown syntax is consistent across platforms, different platforms (GitHub, Discord, Obsidian, etc.) may support additional features or have slight variations. This is often called "flavored Markdown".
Markdown is used for documentation, README files, blog posts, notes, emails, and more. It's supported by GitHub, GitLab, Reddit, Discord, Slack, Notion, Obsidian, and many other platforms.
No, you can write Markdown in any plain text editor. However, specialized Markdown editors like VS Code, Obsidian, or Typora provide live preview and additional features.
The most common Markdown examples are: # Heading for headings, **bold** for bold text, *italic* for italics, [title](url) for links,  for images, - item for bullet lists, > quote for blockquotes, `code` for inline code, and triple backticks for code blocks.
Yes — click the Download PDF button at the top of this page to get the complete Markdown cheat sheet as a free PDF file you can print or keep offline. No signup or email required.