What is a Markdown file?
Markdown is a way of writing formatted text with plain characters. John Gruber published it in 2004, with help from Aaron Swartz, so that a document would be easy to read even before it is rendered: # Title is a heading, **bold** is bold, and a line starting with - is a bullet point. Files usually end in .md.
Because it is just text, Markdown works in any editor, diffs cleanly in Git and survives copy and paste. GitHub READMEs, Obsidian and Notion notes, documentation sites and Reddit and Discord messages all use it. It has also become the preferred input for AI models: a Markdown version of a document keeps the headings, lists and tables while using far fewer tokens than HTML or a raw PDF.
Markdown at a glance
| Full name | Markdown |
|---|---|
| File extensions | .md, .markdown |
| Created by | John Gruber, with Aaron Swartz |
| Introduced | 2004 |
| Compression | None: plain text with light formatting marks (#, *, -) |
| Opens on | GitHub, Notion, Obsidian, Reddit, Discord, any text editor and AI chat apps |
| Best for | Notes, documentation, READMEs and text for AI models |
How to open a Markdown file
Any text editor opens a .md file; VS Code, Obsidian and Typora also show a formatted preview. To turn an existing document into Markdown, use Document to Markdown, which reads Word, PDF and HTML files in your browser.