Tech

What is Markdown?

Published
Published:
Table of Contents

Markdown is a simple way to write formatted text using plain characters. You add a few symbols, and tools turn them into headings, bold text, links and lists. Every note you are reading on this site is written in Markdown.

The big idea

A Markdown file should be perfectly readable even before it is converted. The formatting symbols are ones you would naturally use in a plain email anyway.

The basics

Here is most of what you need for daily writing — and what it actually turns into:

No menus, no clicking — just type.

A few more things

Code, written between backticks, comes out in a code style:

Inline code looks like `this`.

```python
print("and blocks look like this")

Quotes use a `>`:

```markdown
> This is a quote.
```

## Why everyone uses it

- It is readable even before it is converted. Plain Markdown still looks fine.
- GitHub, Reddit, WhatsApp, Notion, and countless tools support it.
- Because it is plain text, it works perfectly with version control.

## A little history

<Timeline
  items={[
    { date: "2004", title: "Created", description: "John Gruber, with help from Aaron Swartz, releases the first version of Markdown." },
    { date: "2014", title: "CommonMark", description: "A community effort to define one precise, unambiguous spec." },
    { date: "Today", title: "Flavours everywhere", description: "GitHub Flavored Markdown (GFM) adds tables, task lists and more." },
  ]}
/>

## A small warning

<Callout type="warning" title="Mind the flavours">
There are many slightly different versions of Markdown. The basics work everywhere, but fancy features like tables or footnotes may differ between tools. When in doubt, keep it simple.
</Callout>

<QuoteBlock author="John Gruber" source="Daring Fireball, 2004">
The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions.
</QuoteBlock>

## When to use it

Use Markdown for notes, documentation, READMEs, and blog posts — basically any writing where you want formatting without the weight of a full word processor.
Support this post Sponsor