The History of Markdown: Twenty Years of Minimal Markup

A syntax born for readability

In 2004, John Gruber and Aaron Swartz released Markdown. Gruber's motive was simple: writing for the web meant writing HTML, which was tedious. He designed a lightweight markup close to natural writing — # for headings, * for emphasis, [text](link) for links — plus a Perl script that converted plain text into HTML.

The key design idea: the plain text should be readable on its own. Even without a renderer, a Markdown document stays clear; rendered, it becomes structured web content.

From a personal tool to a universal standard

After its release on Daring Fireball, Markdown was adopted by GitHub, Stack Overflow, Reddit and more:

  • 2009 — GitHub began supporting Markdown and grew GFM (GitHub Flavored Markdown): tables, strikethrough, task lists, autolinks;
  • 2012 — the community launched the CommonMark standardization project to tame dialect differences; 0.28 was released in 2017 (and iterated since);
  • 2016 — RFC 7763 / 7764 published;
  • Today, READMEs, blogs, notes and documentation sites (VuePress, Docsify, MkDocs) are written in Markdown.

Why it never went stale

  • Zero learning curve: the syntax takes minutes to learn and beats HTML for friendliness;
  • Portable plain text: opens in any editor, on any system;
  • Perfect for version control: plain text diffs cleanly and collaborates well;
  • Huge ecosystem: editors, previewers, converters and theme engines abound.

Common misconceptions

  • Markdown is not WYSIWYG but "what you see is what you mean" — write content first, rendering gives structure;
  • Dialects differ slightly (GFM tables, footnotes); mind compatibility across platforms.

In summary

In twenty years Markdown proved a simple truth: the humblest tools often last the longest. For the oldest act of all — writing — it provides a modern, universal and timeless syntax.