Original article: Markdown Is Everywhere, and It All Started with a README
Have you noticed that Markdown has slowly become the de facto document format?
I noticed it somewhat by accident. A coworker who doesn't write a single line of code asked me why his text was full of hash signs. He'd copied an answer from an AI assistant into an email. Markdown had found its way to him without him knowing what it was.
For a long time, Markdown meant one thing to me: the README.md at the root of a repo. Now I run into it everywhere, even with people who've never opened a terminal. I wanted to trace it back and understand how we got here.
2004: A format meant to be read as-is
John Gruber introduced Markdown on March 15, 2004, on his blog Daring Fireball. Aaron Swartz, who was 17 at the time, helped him as a beta tester. The original idea was modest: write for the web without typing HTML.
In practice, Markdown was a Perl script built as a plugin for Movable Type, the blogging tool Gruber used. Michel Fortin ported it to PHP within the first year, and Gruber himself recommended that port on the official page. As a PHP developer, I like that detail: Markdown spoke our language almost from day one.
The principle that shaped everything is that a Markdown file should stay readable even if it's never converted. A heading with a hash sign, a list with dashes, bold between asterisks. It borrowed habits people already had from plain-text email and forums.
That choice is why it has lasted. Open a .md file in Notepad, in vim or in a terminal, and you can still follow it. Few formats can say the same.
| Fact | Detail |
|---|---|
| Public introduction | March 15, 2004, on Daring Fireball |
| Creator | John Gruber |
| Beta tester | Aaron Swartz, 17 at the time |
| First implementation | Perl script, Movable Type plugin |
| First port | PHP, by Michel Fortin |
| Main inspiration | Plain-text email |
2008–2014: The developers' language
Between 2008 and 2014, Markdown became the default writing tool for developers, almost without anyone choosing it.
Stack Overflow adopted it at launch in 2008. GitHub made it the basis for READMEs, then for issues, pull requests and wikis, with its own variant: GitHub Flavored Markdown. Static site generators followed, and IPython notebooks (later Jupyter) used it for their text cells.
| Year | Tool | What it brought |
|---|---|---|
| 2014 | MkDocs | Technical documentation written entirely in .md |
| 2014 | CommonMark | A spec to unify the dialects |
| 2013 | Hugo | Static sites built in Go, content in Markdown |
| 2011 | IPython Notebook | Markdown text between code cells |
| 2008 | Jekyll | The developer blog as .md files |
| 2008 | Stack Overflow | Questions and answers written in Markdown |
| 2008 | GitHub | READMEs, issues, PRs, wikis |
In a repo, it never stopped at the README. There's CHANGELOG.md, CONTRIBUTING.md, SECURITY.md, and that hidden .github folder holding the issue and pull request templates. Everything around the code gets written in Markdown.
The downside is that everyone adds their own extensions. Tables, checkboxes, syntax-highlighted code blocks: none of that was in the 2004 version. CommonMark was born in 2014 precisely because the same file didn't render the same way from one tool to the next. That problem never fully went away.
2015–2022: One foot out the door
During those years, Markdown started to leave the repo, a little at a time.
Slack and Discord accepted part of the syntax: bold, italics, code. Notion and other editors turned a hash sign typed at the start of a line into a heading. Obsidian, launched in 2020, built its whole approach on .md files stored locally, and drew in plenty of people who aren't developers.
In 2022, Google Docs started detecting Markdown syntax automatically as you type. That was a sign the format wasn't just for technical people anymore. But most people used it without knowing it had a name.
| Tool | What it does with Markdown |
|---|---|
| Slack, Discord | Part of the syntax: bold, italics, code |
| Notion | Turns typed syntax into formatting |
| Obsidian (2020) | Notes stored as local .md files |
| Google Docs (2022) | Automatic detection as you type |
2023 onward: AI does the rest
What really sped things up was AI assistants. They answer in Markdown by default: headings, lists, bold, tables, code blocks. Millions of people started reading Markdown every day, often without realizing it.
In July 2024, Google Docs added .md import and export, plus pasting from Markdown (Google Workspace announcement). Google mostly mentions technical writers, but everyone benefits.
On the code side, Markdown even changed readers. We now write files meant for AI agents rather than for people. Every tool had its own (CLAUDE.md, .cursorrules, GEMINI.md…), until OpenAI released AGENTS.md in August 2025 as a shared format. By December 2025, more than 60,000 open-source projects were using it according to OpenAI, which handed it over to the Linux Foundation (announcement).
The README was written for a person discovering a project. AGENTS.md is written for a machine that's about to work on it. Same format.
| README.md | AGENTS.md | |
|---|---|---|
| Reader | A person | An AI agent |
| Purpose | Introduce the project | Give instructions for working on it: setup, tests, conventions |
| Went mainstream | With GitHub, from 2008 | Released by OpenAI in August 2025 |
| Adoption | Nearly every GitHub repo | 60,000+ open-source projects by late 2025 |
Native support isn't keeping up
Markdown is everywhere, but it isn't understood everywhere. That's where things get stuck.
I paste a Markdown table into one tool and it looks clean. In another, I get a mess of pipes and dashes. An email drafted with an AI assistant lands in someone's inbox full of asterisks. The same .md file doesn't look the same on GitHub, in VS Code and in Obsidian, because each one handles its own extensions.
LinkedIn, for example, doesn't render it at all. If you want bold text in a post, you have to use Unicode characters, which creates accessibility problems of its own.
The dialect problem isn't new. In 2014, Jeff Atwood, cofounder of Stack Overflow, and John MacFarlane, the creator of Pandoc, published a spec called "Standard Markdown." Gruber objected to the word Markdown being in the name, and the project became CommonMark. A final 1.0 version of that spec still hasn't shipped.
The format has become universal for writing. When it comes to displaying it, every tool still does its own thing.
2025: Windows Notepad and Apple Notes adopt Markdown
This is the clearest sign that Markdown has left the developer world: the two most basic text editors, installed on hundreds of millions of machines, picked it up in the same year.
Windows Notepad reads and writes Markdown
In late May 2025, Microsoft started rolling out a Notepad update to Windows Insiders with lightweight formatting: bold, italics, links, lists, headings. Notepad accepts Markdown input and opens .md files. A button in the status bar switches between the formatted view and the syntax view, and you can turn the feature off in settings.
In November 2025, a new preview added tables, which you can insert from the toolbar or type directly in Markdown syntax.
For a tool that stayed a plain text editor for decades, that's a big change. It didn't go unnoticed either: some users pushed back, attached to a no-frills Notepad.
Apple Notes imports and exports Markdown
Apple took a different approach. With iOS 26, iPadOS 26 and macOS Tahoe 26, Notes can import a .md file and export a note as Markdown. Headings, lists, links, bold and italics are converted to rich text on import. Apple's current documentation also mentions copying a note as Markdown and pasting Markdown into Notes.
You still don't write Markdown in Notes, though. The conversion happens on the way in and on the way out, and in between the note stays in Apple's own format.
| Notepad (Windows) | Apple Notes | |
|---|---|---|
| Write directly in Markdown syntax | Yes | No |
| Toggle between formatted and syntax view | Yes | No |
| .md files | Opened and edited as-is | Imported, converted, exportable |
| Tables | Yes, in preview since November 2025 | Not specified |
Where mainstream tools stand
| Tool | What it does with Markdown | Since |
|---|---|---|
| Notepad (Windows 11) | Renders and edits Markdown, toggles formatted / syntax view, tables | 2025 |
| Apple Notes (iOS 26, macOS Tahoe) | .md import and export, conversion to rich text | 2025 |
| Google Docs | Detection as you type, then import, export and paste | 2022, then 2024 |
| No rendering | Never |
My takeaway: Microsoft made Markdown a native format in its simplest editor, while Apple treats it as an exchange format. Two visions, and still no shared behavior.
So what now?
I don't think we'll ever see a single Markdown that renders identically everywhere. The format won precisely because it was simple and anyone could extend it. That freedom comes at a cost, and we pay it every time we copy and paste.
What strikes me is how far it's come. Twenty years ago, it was a trick to avoid writing HTML. Ten years ago, it was our format, the one living in our repos. Today my clients receive it without knowing it, and I write .md files to explain my projects to AI agents.
Until the tools catch up, I write in Markdown pretty much everywhere. Even in places where nobody will read it as Markdown.
Sources
- How Markdown took over the world, Anil Dash, January 2026
- Markdown, official page on Daring Fireball, John Gruber
- Standard Markdown becomes CommonMark, LWN.net, September 2014
- Text formatting in Notepad begins rolling out to Windows Insiders, Windows Insider Blog, May 2025
- Notepad update begins rolling out to Windows Insiders, Windows Insider Blog, November 2025
- Import, export, and print notes on Mac, Apple Support
- How to import and export Markdown with Apple Notes in iOS 26, AppleInsider
- Import and export Markdown in Google Docs, Google Workspace Updates, July 2024
- OpenAI co-founds the Agentic AI Foundation, OpenAI, December 2025
- AGENTS.md Emerges as Open Standard for AI Coding Agents, InfoQ, August 2025
Original article: Markdown Is Everywhere, and It All Started with a README
Top comments (0)