Markdown
Noun · Development · Origin: 2004
Definitions
Markdown is a lightweight markup language created by John Gruber in 2004 that uses plain text formatting syntax to create structured documents that can be converted to HTML and other formats. Its design philosophy prioritizes readability: a Markdown file should be readable as-is, even without being rendered. Common syntax includes hash marks for headings, asterisks for emphasis and lists, backticks for code, and square brackets with parentheses for links. Markdown has become the standard for documentation in software development, powering README files on GitHub, documentation sites, technical blogs, and developer communication platforms like Stack Overflow and Discord. Variations include GitHub Flavored Markdown (GFM), which adds tables, task lists, and syntax-highlighted code blocks, and CommonMark, which aims to create an unambiguous specification. Tools like Pandoc can convert Markdown to PDF, Word, slides, and dozens of other formats.
In plain English: A simple way to format text using symbols (like # for headings and * for bold) that can be converted to formatted web pages — used everywhere in the tech world for documentation.
Etymology
- 2002
- Aaron Swartz and John Gruber began discussing a human-readable plain text formatting syntax. Swartz had worked on atx, a similar markup concept.
- 2004
- John Gruber released Markdown 1.0 with a Perl script converter. The syntax was designed so that a Markdown-formatted document could be read as-is without rendering.
- 2012
- Jeff Atwood and others pushed for standardization, leading to the CommonMark initiative. GitHub Flavored Markdown added tables, task lists, and fenced code blocks.
- 2014-Present
- CommonMark published its specification. Markdown became the default writing format for README files, documentation, chat platforms, and static site generators worldwide.
Origin Story
The Formatting Language Anyone Can Read
Markdown is a lightweight markup language created by John Gruber in collaboration with Aaron Swartz, released on March 19, 2004. Gruber, a writer and Apple commentator who ran the influential blog Daring Fireball, wanted a way to write for the web that was readable as plain text, not just as rendered HTML. His design principle was simple: the source text should look natural and be publishable as-is, without looking like it has been tagged or formatted with special instructions. Gruber drew on existing conventions from plain-text email, where people naturally used asterisks for emphasis, hyphens for lists, and greater-than signs for quotes. Aaron Swartz, the programmer, activist, and co-creator of RSS, contributed the Perl implementation that converted Markdown to HTML. The original Markdown specification was deliberately informal, which led to fragmentation as different implementations made different choices about edge cases. Jeff Atwood and John MacFarlane addressed this with CommonMark (2014), a rigorous specification that resolved ambiguities. Today Markdown is everywhere: GitHub uses it for READMEs and issues, Slack and Discord use variants for message formatting, and static site generators like Jekyll and Hugo use it for content. It has become the de facto standard for technical documentation.
Coined by: John Gruber, with Aaron Swartz
Context: Daring Fireball blog, March 2004
Fun fact: The name 'Markdown' is a deliberate play on 'markup': while HTML is a markup language that adds formatting instructions to text, Markdown is a 'mark-down' that strips away complexity.