Markdown in Five Minutes

Seven symbols. That's the whole language.

← All posts

What markdown is

Markdown is a way to add formatting — headings, bold, lists, links — to a plain text file. You type a few symbols. The symbols mean something. That's it.

You don't need special software. You can write markdown in Notepad, TextEdit, the Notes app on your phone, a Google Doc, or the terminal. Any place you can type text, you can write markdown. It was designed in 2004 by John Gruber specifically to be readable even if you never convert it to anything — the formatting symbols are so simple they don't get in the way of reading.

Every site on this page, every disposable software artifact, every AI skill, and every scene of the memoir was written in markdown. It's the default language of working with AI because both humans and AIs can read it without a translator.

The seven things you need

This is the complete list. There are more features, but you don't need them. These seven cover 95% of everything you'll write.

what you type what it means # Big heading ## Smaller heading ### Even smaller Heading levels More #'s = smaller heading You rarely need more than 3 **this is bold** this is bold *this is italic* this is italic - first item - second item - third item A bullet list Dash + space at the start of each line 1. first step 2. second step 3. third step A numbered list Number + dot + space at the start of each line [click here](https://...) A clickable link [display text](URL) `some code` Inline code Backtick on each side ``` a block of code ``` Triple backticks = code block

That's the language. # for headings, ** for bold, * for italic, - for bullets, 1. for numbered lists, []() for links, ` for code. Seven symbols.

A real example

Here's a complete markdown document — a weekly status update. This is the kind of thing you'd write instead of a meeting:

# Status Update — Week of April 7

## Done
- Finished the data migration for account KAS_US
- Fixed the broken query in the morning report
- Reviewed Alireza's PR on the segment loader

## In Progress
- QA on the new crosswalk load (80% done)
- Writing the runbook for the Infobase refresh

## Blocked
- **Staging environment is down** — can't test the load
  until infra restarts it. Ticket filed: DO-9821.

## Next Week
1. Ship the crosswalk if staging comes back
2. Start the Q2 Infobase evaluation
3. Meet with Sylvia about the warehouse resize

That's it. Readable as-is. Readable by an AI. Readable by any program that understands markdown. Readable in 50 years. No Word, no Google Docs, no formatting toolbar. Just text with seven symbols.

Where to write it

Anywhere. Literally anywhere you can type.

The file extension is .md. That's all it takes to signal "this file contains markdown." But remember — the extension is a label, not a lock. A .md file is a .txt file with a different name. The bytes are the same.

Why AI loves markdown

When you give an AI a markdown file, it reads the structure instantly. The # signs tell it which lines are headings. The - signs tell it which lines are list items. The **bold** tells it what you emphasized. It doesn't have to guess at the structure — you declared it explicitly, in characters it can read directly.

Compare that to a Word document, where the structure is encoded in binary XML inside a zip archive. The AI has to unpack the archive, parse the XML, interpret the style definitions, and reconstruct what the document means. Every step is a place where meaning can be lost.

Markdown is the shortest path between what you mean and what the AI reads.

What about tables?

You'll run into tables eventually. They're the one slightly awkward thing in markdown, but they work:

| Name    | Role       | Status    |
|---------|------------|-----------|
| Alice   | Engineer   | On track  |
| Bob     | Designer   | Blocked   |
| Carol   | PM         | On track  |

Pipes (|) separate columns. Dashes (---) separate the header from the rows. It doesn't have to be perfectly aligned — most editors will clean it up for you, and AI will generate them perfectly aligned every time.

The conversion trick

Markdown converts to anything. One source file, many outputs:

The command-line tool that does most of these conversions is called Pandoc. But you don't need to learn Pandoc. You can tell Claude "convert this markdown file to a PDF" and it will figure out the command for you.

The point is: write once in markdown, export to whatever format the recipient needs. You keep the source. They get the output. If they want changes, you edit the markdown and re-export. You never open Word.

The minimum viable knowledge

If you remember nothing else from this page, remember this:

# makes a heading. - makes a list. ** makes bold. Save the file as .md. That's enough to start. Everything else you can look up when you need it.

Markdown isn't a skill you study. It's a habit you pick up. The first time you type # Status Update instead of opening Word and clicking the heading dropdown, you've already learned it. The rest fills in as you go.

← Back to posts

Disclosure: This page was generated by Claude (Anthropic) under Bill's direction. Bill wanted the absolute minimum — seven symbols, no more. Claude wrote the prose and will happily generate a markdown template for whatever you need.