Markdown

Noun · Development · Origin: 2004

Definitions

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

Related Terms