What is Markdown?
Markdown is a lightweight markup language created by John Gruber in 2004. It was designed with one core philosophy in mind: a document should be readable as plain text, even before it’s rendered.
Today, Markdown is used everywhere — from GitHub READMEs and blog posts to documentation, note-taking apps, and even chat platforms.
Why use Markdown?
It’s simple. You don’t need a rich text editor. All you need is a plain .md file and any text editor. The syntax is intuitive by design — wrapping a word in asterisks makes it bold, and that makes sense even without rendering.
It’s portable. A Markdown file is just text. No proprietary formats, no corruption, no version incompatibility.
It’s widely supported. Platforms that render Markdown include GitHub, GitLab, Reddit, Discord, Notion, Obsidian, and most static site generators like Jekyll and Hugo.
Core Syntax
| Style | Syntax | Output |
|---|---|---|
| Bold | **text** | text |
| Italic | *text* | text |
| Bold + Italic | ***text*** | text |
| Strikethrough | ~~text~~ | |
| Highlight | <mark>text</mark> | text |
| Superscript | <sup>text</sup> | E=mc2 |
| Subscript | <sub>text</sub> | H2O |
Headings are prefixed with # symbols — one # for H1, two for H2, and so on.
Links follow the pattern [text](url), and images/videos are nearly identical: .
Code in Markdown
One of Markdown’s most powerful features for developers is its code formatting. For inline references, use single backticks: const x = 42
For multi-line blocks, use triple backticks with an optional language identifier:
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet("World")); // Hello, World!
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a
print(fibonacci(10)) # 55
Blockquotes
Blockquotes are great for callouts, citations, or pull quotes:
This is a blockquote. It can span multiple lines and is commonly used for referenced material or important callouts.
You can even cite attribution:
“The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible.” John Gruber1
Lists
Markdown supports unordered, ordered, and task lists:
- Item one
- Item two
- Nested item
- Another nested item
- First step
- Second step
- Third step
- Learn Markdown basics
- Write your first
.mdfile - Master advanced syntax
- Build a static site with Markdown
Extended Syntax
Standard Markdown covers the basics, but many parsers support extended syntax2 — including tables, footnotes, task lists, and the HTML-based formatting like highlighting, superscripts like E=mc2, and subscripts like H2O.
Support varies by parser, so always check what your platform supports before relying on extended features.
Closing Thoughts
Markdown strikes a rare balance: it’s simple enough for anyone to learn in an afternoon, yet powerful enough to write entire books with3. Whether you’re a developer documenting an API or a blogger drafting a post, Markdown is one of the most valuable plain-text tools in your kit.
So open up a .md file and start writing — your future self will thank you.