Features Guide Blog FAQ Contact Open Editor

The History of Markdown: How Plain Text Won

The history of Markdown from 2004 to 2025

The origin: one idea, tiny syntax

In 2004, John Gruber published a specification and a Perl script called Markdown. The stated goal was practical: make writing for the web as easy as writing an email. The syntax was designed to look like plain text that had already been formatted — not a markup language that required learning new conventions.

A heading used a hash character because # Title already looked like a title in plain email. Bold text used asterisks because *word* was a common convention in newsgroups. The choices were deliberate reversals of what most markup languages did — Markdown's syntax was meant to be read, not parsed.

Core insight: Before Markdown, authors writing for the web either used HTML tags directly — cluttering the source — or used WYSIWYG editors that produced unpredictable output. Markdown treated plain text as a durable first-class format rather than an intermediate step.

Influences and early contributors

Markdown did not emerge in isolation. Lightweight markup languages had existed before it — Setext, Textile, and reStructuredText each explored similar territory. Gruber's contribution was a simpler syntax and a clearer philosophy: if the unrendered source looks wrong, the syntax is wrong.

Aaron Swartz contributed meaningfully to early Markdown implementations, particularly to Markdown.pl, and helped spread the idea through the developer communities he was active in. The early adoption community was small — primarily bloggers and developers who wanted to write prose without wrestling with HTML.

A timeline of adoption

2004
John Gruber publishes the Markdown specification. The Perl script and the original documentation appear on Daring Fireball. Initial adoption is limited to a small circle of bloggers.
2008
Stack Overflow launches with Markdown support. Jeff Atwood and Joel Spolsky choose Markdown for formatting questions and answers, exposing the syntax to a large developer audience for the first time.
2009
Jekyll and static site generators adopt Markdown. GitHub co-founder Tom Preston-Werner releases Jekyll, which uses Markdown as its primary content format. The combination of Git and Markdown for blogging and project sites becomes a developer staple.
2011
GitHub ships GitHub Flavored Markdown (GFM). GFM adds tables, task lists, fenced code blocks with language identifiers, and auto-linking. README files become a de facto standard for project documentation across millions of repositories.
2014
CommonMark is announced. A group of developers including Jeff Atwood, John MacFarlane, and Gruber collaborator Randal Schwartz publish CommonMark — a fully specified, unambiguous version of Markdown intended to resolve parsing inconsistencies across implementations.
2016
GitHub publishes the GFM specification. Based on CommonMark, the formal GFM spec defines the exact parsing rules for GitHub's Markdown renderer, enabling consistent third-party implementations.
2020s
Markdown becomes infrastructure. Notion, Obsidian, Linear, Coda, and dozens of other tools adopt Markdown as their primary input format. AI language models output Markdown by default. VS Code renders it inline. The format is no longer a niche convention — it is the lingua franca of developer writing.

Variants and the fragmentation problem

The original Markdown specification was intentionally underspecified. Gruber described the philosophy and provided examples, but left edge cases to the implementor's judgment. This led to divergent parsing behaviour across tools — the same Markdown source could produce different HTML depending on which parser processed it.

CommonMark addressed this with a 650-page specification that covers every edge case with a test suite of over 600 examples. Major Markdown processors now indicate which specification they implement, and many have converged on CommonMark as a baseline with tool-specific extensions layered on top.

The main variants in active use today are CommonMark (the baseline standard), GitHub Flavored Markdown (CommonMark plus tables, task lists, and strikethrough), and MultiMarkdown (adds footnotes, definition lists, and metadata). Most writing tools support at least GFM.

Markdown in 2025

Twenty-one years after its introduction, Markdown has won the documentation war that few people noticed was happening. The WYSIWYG editors that once seemed destined to replace plain text writing now frequently export to Markdown or accept it as input. Documentation platforms built on Markdown have displaced proprietary wiki systems in engineering organisations of every size.

The reasons are structural: Markdown files age well, work with version control, and do not depend on a specific vendor or application. A README written in 2010 is as readable today as it was then. That durability, combined with the tooling ecosystem that has grown around the format, means Markdown is not a legacy format. It is the incumbent.

Write Markdown in your browser right now

Free, private, no account required. Open the editor and start writing immediately.