Markdown is a lightweight markup language that converts plain text to formatted HTML. Its simplicity makes it popular for documentation, blogs, and content management systems.
Why Markdown Exists
Created by John Gruber in 2004, Markdown was designed to be readable as plain text while converting cleanly to HTML. Writers can focus on content rather than HTML tags. The source remains human-readable even without rendering, unlike HTML which is cluttered with tags.
Basic Syntax
Headers use # symbols (# H1, ## H2). Bold uses **asterisks** or __underscores__. Italic uses *single asterisks* or _underscores_. Links are [text](url). Images are . Lists use -, *, or numbers. Code uses `backticks` for inline or triple backticks for blocks.
GitHub Flavored Markdown (GFM)
GitHub extended Markdown with tables (using pipes |), task lists (- [ ] item), strikethrough (~~text~~), and fenced code blocks with syntax highlighting. GFM has become the de facto standard for technical writing and is what most Markdown APIs support.
Markdown in Practice
Markdown is used in README files, documentation, blogs, note-taking apps, and forums. GitHub, Stack Overflow, Reddit, and countless other platforms support Markdown. Its portability means content can move between systems without reformatting.