text

How a Blogger and a Teenage Prodigy Gave the Whole Internet Its Writing Style: The Story of Markdown

The asterisks that bold your Slack messages, every GitHub README, your Reddit comments — they all trace back to a tiny format built in 2004 by John Gruber and Aaron Swartz. Here's how a language designed to be lazy quietly conquered how the web writes.

How a Blogger and a Teenage Prodigy Gave the Whole Internet Its Writing Style: The Story of Markdown
9min read
1.8Kwords
1views
3topics
📋Try the toolMarkdown Preview

Look closely at the way people type when no one is forcing them to use a toolbar. They wrap a word in *asterisks* to stress it. They start a shopping list with little dashes. They underline a heading with a row of equals signs. Nobody taught them a syntax; these habits grew wild in the soil of plain-text email decades ago, passed from one keyboard to the next like folk songs. In 2004 two people noticed that this informal sign language already existed in millions of heads — and decided to make a computer understand it. The result was Markdown, and it quietly became the way a huge slice of the internet writes.

You have almost certainly used it without knowing its name. The asterisks that bold your message in Slack, the formatting of a Reddit comment, the README that greets you on every GitHub project, the notes in Obsidian and Notion, the cells of a Jupyter notebook — all of it traces back to a small set of rules written twenty years ago by a blogger and a teenage prodigy. This is the story of how that happened, and why a format designed to be lazy turned out to be one of the most durable ideas in modern writing.

A blogger who hated angle brackets

By 2004 John Gruber was a well-known voice among Mac users, writing the blog Daring Fireball. Like anyone publishing online back then, he wrote in HTML, the language of the web — and like anyone who has typed <p> and </p> a thousand times, he found it exhausting. HTML is a markup language: you surround your words with tags that tell a browser how to display them. It is precise and powerful and absolutely miserable to read in its raw form. A single emphasised word becomes <em>word</em>; a link balloons into a thicket of quotation marks and attributes. Writing prose in HTML is like trying to have a conversation while spelling out every comma.

Gruber's idea was deceptively modest. What if you could write in plain text, using the natural conventions people already knew from email, and have a small program quietly translate it into clean HTML behind the scenes? The name was a sly little pun. Markup languages mark up text with extra symbols; this would mark it down — strip the ceremony away. He called it Markdown.

The governing principle, which he stated plainly, is the thing that made it last: a Markdown document should be publishable as-is, as plain text, without looking like it has been marked up with tags at all. That sentence is the whole philosophy. Other formats want to be parsed; Markdown wants to be read. The symbols you add are the same ones a thoughtful person would have used anyway to make a plain email legible. Open any Markdown file in a basic text editor and it still makes complete sense — the formatting is suggestion, not scaffolding.

The teenager in the story

Gruber did not build it alone, and the collaborator's name gives the tale an unexpected weight. He worked closely on the design with Aaron Swartz, then a programmer barely out of his teens who had already helped shape the RSS feed standard and the technical side of Creative Commons. Swartz would later co-found Reddit, become a famous champion of open access to information, and — in a tragedy that still casts a long shadow over the tech world — die in 2013 at twenty-six while facing aggressive federal prosecution for downloading academic papers.

Swartz wrote a companion program called html2text, which performed the reverse trick: take messy HTML and turn it back into readable Markdown. Between Gruber's text-to-HTML converter and Swartz's HTML-to-text one, the loop was closed. You could write comfortably, publish cleanly, and convert in either direction. It is a small, poignant footnote of internet history that a format now typed billions of times a day carries the fingerprints of someone the wider world remembers for entirely different, and much sadder, reasons.

Designed to be forgotten

The genius of Markdown is that it gets out of the way. The entire core syntax fits on a postcard, because it borrows from things you already do.

A # at the start of a line makes a heading — one hash for the biggest, more hashes for smaller ones, almost like the levels of an outline. Wrap a word in *single asterisks* for italics and **double** for bold, exactly mirroring how people lean on asterisks for emphasis in chat. Begin lines with - and you have a bullet list; begin them with 1. and you have a numbered one. A > makes a blockquote, echoing the way email programs prefix quoted replies. A link is just [the words](the address). That is very nearly the whole language. If you want to feel how little there is to learn, you can open a live Markdown preview, type a single line with a couple of these marks, and watch it become a formatted web page in real time — the gap between writing and publishing collapses to nothing.

This restraint was deliberate, and it is the reason teachers, scientists, journalists and programmers all adopted the same tool. You do not "open" Markdown the way you open a word processor; you simply write, and the formatting is a faint accent over ordinary text. There is no menu to hunt through, no mysterious state where your cursor is secretly bold. What you see is what you typed.

The price of having no rulebook

Here is the twist that makes Markdown more interesting than a tidy success story. For years it had no formal specification. The official definition was, in effect, "whatever Gruber's original Perl script happens to do," plus a loosely worded syntax page that left genuine ambiguities. What should happen if you nest a list inside a quote inside another list? How many spaces count as indentation? The answers were vague, and into that vagueness rushed a hundred competing interpretations.

Every platform that loved Markdown built its own slightly different dialect. The result was a delightful mess that the community started calling "flavors." GitHub added tables, strikethrough with ~~tildes~~, and the checkbox task lists that now organise so many projects. Reddit, Stack Overflow, and a dozen blogging engines each tweaked the edges. Two documents that looked identical could render differently depending on where you pasted them — the digital equivalent of a recipe that works in one kitchen and flops in another.

In 2012 a group of heavyweights, including Jeff Atwood — co-founder of Stack Overflow — set out to fix this with a single rigorous standard. They first launched it under the name "Standard Markdown," which prompted a sharp objection from Gruber, who felt the name overreached on something he had created. The project was renamed CommonMark, and the lead author was John MacFarlane, a philosophy professor at Berkeley who also happens to have built Pandoc, the Swiss-army-knife converter that turns nearly any document format into nearly any other. It is a quietly fitting detail that the person who finally pinned down Markdown's logic spends his days thinking about formal logic for a living.

CommonMark gave the format the precise grammar it had lacked, defining exactly how every edge case should behave. GitHub Flavored Markdown — the dialect most people now encounter — is built directly on top of it. And in 2016, Markdown crossed a final threshold into officialdom: it was granted its own internet media type, text/markdown, registered through a formal standards document, making it a first-class citizen of the web alongside HTML and plain text.

Why it conquered the writing world

It is worth asking why this particular idea spread so far when fancier tools existed. Part of the answer is that Markdown is future-proof in a way binary documents never are. A .md file is just text. It will open in any editor, on any operating system, fifty years from now, with no special software and no risk of a corrupted proprietary format. Writers who have lost work to an unreadable old file learn to treasure that permanence.

It is also friendly to machines. Because Markdown is plain text, version-control systems like Git can track it line by line, showing you exactly what changed between two drafts of a document — impossible with the opaque blob of a typical word-processor file. That single property is why software documentation, technical books, and entire static websites are now written in Markdown: the same tools that manage code can manage the prose about it.

And it is fast for the hands and gentle on the mind. You never reach for the mouse. Your fingers stay on the keys, your thoughts stay on the sentence, and the formatting trails along almost subconsciously. Studies of writing flow keep rediscovering the same truth that Markdown stumbled into by accident: friction is the enemy of finished work, and the best tool is the one you forget you are using.

Where you meet it every day

Once you know the shape of Markdown, you start spotting it everywhere. Discord and Slack use trimmed-down versions to bold and italicise chat. WhatsApp's asterisk-bolding is a cousin of the same idea. Note-taking apps like Obsidian, Bear, and Joplin store your entire knowledge base as plain Markdown files, so your notes outlive the app itself. Reddit and Stack Overflow run on it. Every Jupyter notebook mixes Markdown prose with live code. Tens of millions of project READMEs — often the first thing a developer reads about a piece of software — are written in it. Even many modern email newsletters and AI chat interfaces quietly accept it.

That ubiquity is the final irony of the story. Markdown was built to be unobtrusive, a format you would never have to think about. It succeeded so completely that most of the people using it have no idea it has a name, a history, or two specific authors — one a contented blogger, the other a brilliant young man the internet still mourns.

Try it yourself

The fastest way to understand Markdown is to stop reading about it and write a few lines. Drop a heading, a bold word, a bullet list, and a link into a Markdown preview tool and watch plain text bloom into a real document in front of you. Add a ~~strikethrough~~, a table, a checkbox list, and you have touched the very features that took a decade of "flavor wars" to standardise.

Twenty years on, the lazy little format with the punning name is still doing exactly what its makers intended: getting out of the way so you can simply write. Few inventions are humble enough to disappear into the habits of millions and powerful enough to shape how the whole web is written. Markdown is both — a quiet revolution you can hold in a single line of text.

#text#developer#how-it-works
Gaurav SinghWritten byGaurav SinghView profile →

Free tools you might like

Online NotepadWord CounterLorem Ipsum GeneratorDuplicate Line RemoverOnline TeleprompterHindi Notepad

More from the blog

The 4,000-Year-Old Money Trick Einstein Never Explained: A Short History of Compound Interest

The Babylonians called interest 'calves', three religions tried to ban it, Bernoulli found a universal constant inside it, and Benjamin Franklin used it to mail a fortune 200 years into the future. The real story of compound interest is stranger — and older — than the Einstein quote everyone repeats.

9 min read

Ten Days in May: How the World's Most Used Language Was Born in a Week and a Half

Brendan Eich had about ten days in 1995 to invent JavaScript from scratch. The result became the most widely used language on Earth — and almost every one of its famous quirks, from typeof null to ==,

9 min read

The Hidden Passenger: What Your Video Files Secretly Remember

When a fugitive's photo gave away his location through invisible GPS data, the world got a lesson in metadata — the silent layer riding inside every media file. What your videos quietly record about w

8 min read