Learn Markdown: A Free Tutorial with Live Examples
Markdown is a way to format text with plain characters — # for a heading, ** for bold, - for a bullet — that apps turn into clean formatting. It is what GitHub, Obsidian, Notion, Discord, Reddit and AI assistants like ChatGPT and Claude use. The quick start below covers 90% of everyday Markdown in five minutes; the lessons after it go deep on each element, with the exact rules and how each app differs.
Need a one-page reference instead? Use the Markdown cheat sheet.
Markdown in 5 minutes
Each example shows what you type on the left and what it becomes on the right.
Headings
Start a line with one to six # characters and a space. One # is the page title; ## is a section.
# Trip plan
## Day 1
### MorningTrip plan
Day 1
Morning
Bold, italic and strikethrough
Wrap words in * for bold, for italic and ~~ for strikethrough (GitHub Flavored Markdown).
This is **bold**, this is *italic*,
and this is ~~crossed out~~.This is bold, this is italic,
and this is crossed out.
Paragraphs and line breaks
Leave a blank line between paragraphs. A single Enter does not start a new line in standard Markdown — end the line with a backslash or two spaces.
First paragraph.
Second paragraph, line one\
line two of the same paragraph.First paragraph.
Second paragraph, line one
line two of the same paragraph.
Lists
Use - for bullets and 1. for numbered steps. Indent by two to four spaces to nest.
- Milk
- Bread
- Sourdough
1. Preheat the oven
2. Bake for 20 minutes- Milk
- Bread
- Sourdough
- Preheat the oven
- Bake for 20 minutes
Links and images
Links are [text](url). Images are the same with a ! in front, where the bracket text becomes the alt text.
Read the [CommonMark spec](https://commonmark.org).
Read the CommonMark spec.

Code
Wrap inline code in backticks. For blocks, put three backticks on the lines above and below, with an optional language for highlighting.
Run `npm install` first.
```js
console.log("Hello, Markdown");
```Run npm install first.
console.log("Hello, Markdown");
Quotes and task lists
Start a line with > to quote it. - [ ] and - [x] make checkboxes on GitHub, Obsidian and most editors.
> Simplicity is prerequisite for reliability.
- [x] Write the draft
- [ ] Send for reviewSimplicity is prerequisite for reliability.
- Write the draft
- Send for review
Tables
Separate columns with | and put a row of dashes under the header. Colons in that row set alignment.
| Format | Extension |
| :----- | --------: |
| Markdown | .md |
| Word | .docx || Format | Extension |
|---|---|
| Markdown | .md |
| Word | .docx |
Tables have their own site: see the Markdown table syntax guide and table generator on MarkdownTables.com.
All Markdown lessons
In learning order — start at the top or jump to what you need.
Start here
What Markdown is and how it compares with HTML and the different flavors.
Text & paragraphs
Formatting words, breaking lines, quoting and escaping.
- Bold, italic & other text stylesBold, italic, strikethrough, underline, highlight, superscript and subscript — with app support.
- Line breaks & paragraphsWhy pressing Enter does nothing, and the four ways to force a new line or paragraph.
- Blockquotes & calloutsQuote text with >, nest quotes, add lists inside, and make GitHub and Obsidian callouts.
- Escaping special charactersShow *, _, #, | and other symbols literally — with a free escape and unescape tool.
Structure
Headings, lists, task lists, collapsible sections and footnotes.
- HeadingsHeading levels, the setext alternative, anchor links and the mistakes that break headings.
- ListsBullets, numbered lists, nesting, starting numbers and the indentation rules that trip people up.
- Checkboxes & task listsThe - [ ] syntax, checked items, nested tasks, and where checkboxes are clickable.
- Collapsible sectionsHide long content behind a click with <details> and <summary> — with Markdown inside.
- FootnotesAdd numbered notes with [^1], write long notes, and know where footnotes are supported.
Links, images & code
Linking, embedding images and showing code.
- LinksInline and reference links, links to headings and files, email links and new-tab links.
- ImagesInsert images, set their size, center them, add captions and fix images that do not show.
- Code blocks & inline codeInline code, fenced blocks, language names for highlighting, diffs and nested backticks.
Beyond the basics
Front matter, emoji, color, alignment and comments — where Markdown stops and HTML starts.
- Front matter (YAML metadata)The --- YAML block at the top of a file: syntax, common fields and how tools use it.
- EmojiPaste emoji or use :shortcodes: — where each works and a list of popular codes.
- Text color & alignmentColor and centered text in Markdown: the HTML, GitHub and app-specific options that actually work.
- Comments & hidden textLeave notes in a Markdown file that never appear on the rendered page.
Frequently Asked Questions About Learning Markdown
Comprehensive answers to common technical, formatting, security, and compatibility questions.