Markdown Syntax: The Complete Cheatsheet for Developers

From basic formatting to GFM tables and task lists — a comprehensive Markdown reference with examples you can copy and paste.

Markdown Syntax: The Complete Cheatsheet for Developers

Why Markdown?

Markdown is the universal writing format for developers. README files, documentation sites, blog posts, pull request descriptions, Slack messages — all Markdown. Once you know it, you'll use it every day.

Basic Formatting

**bold text**
*italic text*
~~strikethrough~~
`inline code`

# Heading 1
## Heading 2
### Heading 3

> Blockquote

--- (horizontal rule)

Links and Images

[Link text](https://example.com)
![Alt text](image.jpg)

[Link with title](https://example.com "Title text")


[Google][1]
[1]: https://google.com

Lists


- Item one
- Item two
  - Nested item
  - Another nested


1. First step
2. Second step
3. Third step


- [x] Done task
- [ ] Incomplete task

Code Blocks


```javascript
const greeting = "Hello, World!";
console.log(greeting);
```


Use `npm install` to add packages.

Tables (GFM)

| Name    | Role      | Status |
|---------|-----------|--------|
| Alice   | Admin     | Active |
| Bob     | Editor    | Active |
| Charlie | Viewer    | Inactive|

GFM Extensions

GitHub Flavored Markdown adds:

  • Task lists: - [ ] todo
  • Tables: pipe-separated columns
  • Strikethrough: ~~deleted~~
  • Autolinks: URLs become clickable automatically
  • Code fencing: with syntax highlighting

Live Preview

Use our Markdown Previewer to see your Markdown rendered in real-time as you type.

Frequently Asked Questions

What is the difference between Markdown flavors?

Common flavors: CommonMark (the strict standard), GitHub-Flavored Markdown (GFM — adds tables, task lists, autolinks), MultiMarkdown (footnotes, citations), and Pandoc Markdown (everything plus LaTeX math). Most platforms target GFM. When in doubt, stick to the core CommonMark syntax — it works everywhere.

How do I escape special Markdown characters?

Backslash escapes most chars: \*literal asterisk\* renders as *literal asterisk*. For code spans and code blocks, content is rendered literally — no escaping needed. If your text has a lot of underscores or asterisks, use code formatting to avoid unintended emphasis. For literal hashtags in some renderers, prefix with \.

Can I use HTML inside Markdown?

Yes, all Markdown flavors allow inline HTML for things Markdown can't express:

, , , , complex tables, embedded videos. Use it sparingly — pure Markdown is more portable, easier to convert to other formats, and easier to read as source. The 'Markdown for structure, HTML for edge cases' rule of thumb works well.

← Back to Blog
Copied!