A beginner-friendly guide to markdown โ what it is, why developers use it, and how to write it.
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:
This is a great project that helps developers save time.
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:
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.
Here's the core markdown syntax you'll use 90% of the time:
# H1 โ Page title (use once) ## H2 โ Section ### H3 โ Sub-section
**bold text** *italic text* ~~strikethrough~~ `inline code`
- Unordered item - Another item - Nested item 1. First 2. Second 3. Third
[Link text](https://example.com) 
```python
def greet(name):
return f"Hello, {name}!"
```> This is a blockquote. | Name | Role | |-------|----------| | Alice | Engineer | | Bob | Designer |
For the full reference, see the Markdown Cheat Sheet.
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:
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.
A strict, unambiguous specification that aims to be the universal standard. Most modern parsers support CommonMark as a baseline.
Adds footnotes, tables, cross-references, and metadata (YAML frontmatter). Popular in academic writing.
Markdown + JSX โ lets you embed React components inside markdown. Used by documentation sites built with Next.js, Docusaurus, and Astro.
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.
Markdown Editor โ
Write and preview markdown in real time with a full formatting toolbar. Auto-saves to your browser.
Markdown to PDF โ
Convert markdown to a clean, print-ready PDF with themes, fonts, and margin controls.
Markdown Diff โ
Compare two markdown files side by side โ line by line and word by word.
Markdown Formatter โ
Clean up messy markdown โ fix heading levels, list indentation, and blank lines.
Table Generator โ
Build and edit markdown tables visually. Import from CSV or paste existing tables.
โ๏ธ
Open the live editor and start writing. No account, no setup โ just markdown.