Markdown is everywhere today — in code repositories, note apps, chat tools, static-site generators and writing apps like Inkiostro. But it started as one person’s attempt to make writing for the web feel natural again. This is the short story of how Markdown came to be and how it grew into a standard.
2004: Gruber and Swartz
Markdown was created in 2004 by John Gruber, a writer and developer, with significant input from the programmer and activist Aaron Swartz. At the time, writing content for the web meant typing raw HTML — wrapping every paragraph in <p> tags, every link in <a href>. It was tedious and it made the source unreadable.
Gruber’s goal was stated plainly in the original spec: a Markdown document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. In other words, the emphasis was on readability. The syntax borrowed conventions people already used in plain-text email — asterisks for emphasis, > for quotes — so it felt familiar rather than technical.
Alongside the syntax, Gruber released Markdown.pl, a Perl script that converted Markdown text into HTML. The syntax and that reference implementation together defined Markdown for years.
Why it spread
Markdown solved a real problem elegantly, and it spread on its merits:
- It was easy. Anyone could learn the basics in minutes.
- It was readable. The raw text looked clean, so it worked even where it wasn’t rendered.
- It was plain text. Portable, tiny, and friendly to version control and the tools developers already used.
Blogs, wikis and forums adopted it. Then developer platforms embraced it — most influentially GitHub, which used Markdown for README files, issues and comments, putting it in front of millions of programmers every day.
The ambiguity problem
Gruber’s original description was informal, and it left edge cases undefined: what exactly happens when you nest a list inside a blockquote, or mix emphasis markers in unusual ways? Different implementations made different choices, so the same Markdown could render differently depending on the tool. As Markdown’s popularity exploded, this inconsistency became a genuine headache.
2014: CommonMark
To fix that, a group including Jeff Atwood (co-founder of Stack Overflow) and John MacFarlane (the author of the document-conversion tool Pandoc) set out to write a rigorous, unambiguous specification. The result, released in 2014, is CommonMark — a precise definition of Markdown’s syntax with a comprehensive test suite, so that any compliant processor renders the same input identically. Most modern Markdown tools follow CommonMark today.
GitHub Flavored Markdown and beyond
On top of CommonMark, GitHub Flavored Markdown (GFM) added the practical extensions people wanted: tables, task-list checkboxes, strikethrough and automatic linking of URLs. GFM became the de-facto extended dialect that most editors now support.
Other tools pushed further, adding LaTeX math for equations and Mermaid diagrams generated from plain text — features you’ll find in modern editors including Inkiostro on Mac. You can read about those in the guides on math in Markdown and diagrams in Markdown.
Markdown today
Two decades on, Markdown has done exactly what Gruber hoped: it made formatted writing feel like writing, not coding. It’s now the native language of documentation, technical writing, note-taking and countless publishing pipelines — a rare example of a simple idea that quietly became infrastructure.
If you want to write in it, start with the complete Markdown guide and learn what Markdown is and why it’s useful.
FAQ
Who invented Markdown?
Markdown was created in 2004 by John Gruber, with substantial input from Aaron Swartz on the syntax. Gruber also wrote the original Markdown.pl conversion script.
When was Markdown created?
Markdown was first released in 2004. The CommonMark specification, which standardized its syntax, followed ten years later in 2014.
What is the difference between Markdown and CommonMark?
Markdown is the original, informally-defined 2004 syntax. CommonMark is a strict specification of that syntax, created in 2014 to remove ambiguity so every editor renders the same input the same way.
Why is it called “Markdown”?
The name is a play on “markup.” Markup languages like HTML add tags to text; Markdown aimed to do the opposite — to mark up text so lightly that it stays readable — so Gruber called it “Markdown.”
Is Markdown still used today?
Very much so. It’s the standard format for README files, documentation, static websites, note-taking apps, and chat platforms, and it’s supported by virtually every modern writing and developer tool.