MDConverter
Universal In-Browser Converter
100% Client-Side Private

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.

Markdown
# Trip plan

## Day 1

### Morning
Result

Trip plan

Day 1

Morning

Full lesson: Headings →

Bold, italic and strikethrough

Wrap words in * for bold, for italic and ~~ for strikethrough (GitHub Flavored Markdown).

Markdown
This is **bold**, this is *italic*,
and this is ~~crossed out~~.
Result

This is bold, this is italic, and this is crossed out.

Full lesson: Bold, italic & other text styles →

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.

Markdown
First paragraph.

Second paragraph, line one\
line two of the same paragraph.
Result

First paragraph.

Second paragraph, line one
line two of the same paragraph.

Full lesson: Line breaks & paragraphs →

Lists

Use - for bullets and 1. for numbered steps. Indent by two to four spaces to nest.

Markdown
- Milk
- Bread
  - Sourdough

1. Preheat the oven
2. Bake for 20 minutes
Result
  • Milk
  • Bread
    • Sourdough
  1. Preheat the oven
  2. Bake for 20 minutes

Full lesson: Lists →

Links and images

Links are [text](url). Images are the same with a ! in front, where the bracket text becomes the alt text.

Markdown
Read the [CommonMark spec](https://commonmark.org).

![MDConverter logo](/logo.png)
Result

Read the CommonMark spec.

MDConverter logo

Full lesson: Links →

Code

Wrap inline code in backticks. For blocks, put three backticks on the lines above and below, with an optional language for highlighting.

Markdown
Run `npm install` first.

```js
console.log("Hello, Markdown");
```
Result

Run npm install first.

console.log("Hello, Markdown");

Full lesson: Code blocks & inline code →

Quotes and task lists

Start a line with > to quote it. - [ ] and - [x] make checkboxes on GitHub, Obsidian and most editors.

Markdown
> Simplicity is prerequisite for reliability.

- [x] Write the draft
- [ ] Send for review
Result

Simplicity is prerequisite for reliability.

  • Write the draft
  • Send for review

Full lesson: Checkboxes & task lists →

Tables

Separate columns with | and put a row of dashes under the header. Colons in that row set alignment.

Markdown
| Format | Extension |
| :----- | --------: |
| Markdown | .md |
| Word | .docx |
Result
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.

Structure

Headings, lists, task lists, collapsible sections and footnotes.

Linking, embedding images and showing code.

Beyond the basics

Front matter, emoji, color, alignment and comments — where Markdown stops and HTML starts.

Frequently Asked Questions

Frequently Asked Questions About Learning Markdown

Comprehensive answers to common technical, formatting, security, and compatibility questions.

About ten minutes for the basics. Headings, bold, italic, lists, links and code cover almost everything people write day to day, and the quick start on this page shows all of them. The deeper lessons are there for when you hit a specific problem, such as a line break that will not appear or an image that is too large.