What is Markdown?

A beginner-friendly guide to markdown โ€” what it is, why developers use it, and how to write it.

What is markdown?

Markdown is a lightweight markup language created by John Gruber in 2004. It lets you write formatted documents using plain text โ€” no need for a word processor or HTML tags. You write **bold** and it renders as bold. You write # Heading and it renders as a large heading.

The core idea: markdown should be readable as plain text, even without rendering. A markdown file should look natural and clean in any text editor.

Example โ€” you write this:

# My Project

This is a **great** project that helps developers *save time*.

## Features
- Fast
- Free
- Open source

And it renders as:

My Project

This is a great project that helps developers save time.

Features

  • Fast
  • Free
  • Open source

How markdown works

Markdown files are plain text files, usually saved with a .md or .markdown extension. When you open them in a markdown-aware tool (GitHub, VS Code, Notion, etc.), the tool's parser converts the markup into HTML, which is then styled and displayed.

The conversion pipeline looks like this:

your .md fileโ†’markdown parserโ†’HTMLโ†’styled output

Because markdown is just text, it's version-controllable with Git, diff-able, searchable, and works in any editor. This is a big reason why developers love it.

Basic syntax

Here's the core markdown syntax you'll use 90% of the time:

Headings

# H1 โ€” Page title (use once)
## H2 โ€” Section
### H3 โ€” Sub-section

Text formatting

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

Lists

- Unordered item
- Another item
  - Nested item

1. First
2. Second
3. Third

Links and images

[Link text](https://example.com)
![Image alt text](https://example.com/image.png)

Code blocks

```python
def greet(name):
    return f"Hello, {name}!"
```

Blockquotes and tables

> This is a blockquote.

| Name  | Role     |
|-------|----------|
| Alice | Engineer |
| Bob   | Designer |

For the full reference, see the Markdown Cheat Sheet.

Markdown flavors

The original markdown spec left some things undefined, so different platforms created their own extensions. These are called "flavors." Here are the most common ones:

GitHub Flavored Markdown (GFM)Most common

Used by GitHub, GitLab, VS Code, and most developer tools. Adds tables, task lists, strikethrough, and autolinks on top of the original spec. This is what Markdown Utils uses.

CommonMarkStandard

A strict, unambiguous specification that aims to be the universal standard. Most modern parsers support CommonMark as a baseline.

MultiMarkdown

Adds footnotes, tables, cross-references, and metadata (YAML frontmatter). Popular in academic writing.

MDX

Markdown + JSX โ€” lets you embed React components inside markdown. Used by documentation sites built with Next.js, Docusaurus, and Astro.

Where markdown is used

๐Ÿ“

README files

Every GitHub repository has a README.md that describes the project. Markdown is the standard.

๐Ÿ“

Documentation

Docs sites (Notion, Confluence, GitBook, Docusaurus) all accept or export markdown.

๐Ÿค–

AI context files

AI assistants like Claude and Cursor use markdown for CLAUDE.md, system prompts, and context files.

โœ๏ธ

Blog posts

Static site generators (Hugo, Jekyll, Eleventy) use markdown files as blog post content.

๐Ÿ’ฌ

Chat apps

Slack, Discord, and GitHub comments support a subset of markdown for formatting messages.

๐Ÿ“‹

Project management

Linear, GitHub Issues, and Jira all support markdown in descriptions and comments.

Useful markdown tools

โœ๏ธ

Try markdown right now

Open the live editor and start writing. No account, no setup โ€” just markdown.