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.
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
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.