What is Markdown?
Markdown is a lightweight markup language created by John Gruber in 2004 for formatting plain text documents. It uses simple, intuitive syntax that can be easily converted to HTML and other formats while remaining readable in its raw form.
Quick Facts
| Full Name | Markdown Markup Language |
|---|---|
| Created | 2004 by John Gruber and Aaron Swartz |
| Specification | Official Specification |
How It Works
Markdown was designed to be as readable as possible in its source form. It uses punctuation characters like asterisks, underscores, and hash symbols to indicate formatting such as bold, italic, headers, and lists. The language has become the de facto standard for documentation, README files, and content management systems. Various flavors exist including CommonMark, GitHub Flavored Markdown (GFM), and MultiMarkdown, each adding extensions like tables, task lists, and syntax highlighting.
Key Characteristics
- Plain text format readable without rendering
- Simple syntax using common punctuation characters
- Easily converts to HTML and other formats
- Supports headers, lists, links, images, and code blocks
- Multiple flavors with extended features (GFM, CommonMark)
- Widely supported by editors, platforms, and static site generators
Common Use Cases
- Writing README files and documentation
- Creating blog posts and articles
- Note-taking applications
- Static site generators (Jekyll, Hugo, Gatsby)
- Collaborative writing platforms (GitHub, GitLab)
Example
Loading code...Frequently Asked Questions
What is the difference between Markdown and HTML?
Markdown is a lightweight markup language designed for readability in plain text, using simple symbols like # for headers and * for emphasis. HTML is a more complex markup language using tags like <h1> and <em>. Markdown is easier to write and read, and typically converts to HTML for web display.
What is GitHub Flavored Markdown (GFM)?
GitHub Flavored Markdown is an extended version of standard Markdown used on GitHub. It adds features like task lists (- [ ]), tables, syntax highlighting for code blocks, automatic URL linking, strikethrough text (~~text~~), and emoji support (:emoji:).
Can I use Markdown for complex document formatting?
Markdown is best for simple to moderately complex documents. While it handles headers, lists, links, images, and code well, complex layouts like multi-column designs or precise positioning require HTML or other tools. Many Markdown processors allow inline HTML for advanced formatting needs.
What tools can I use to write Markdown?
You can write Markdown in any plain text editor. Popular dedicated tools include VS Code, Typora, Obsidian, and Mark Text. Online editors like HackMD, Notion, and GitHub's web interface also provide live preview. Many note-taking apps now support Markdown natively.
How do I create a table in Markdown?
Use pipes (|) to separate columns and hyphens (-) for the header row separator. Example: | Header 1 | Header 2 | followed by |----------|----------| and then | Cell 1 | Cell 2 |. Alignment can be controlled with colons in the separator row (:--- for left, :---: for center, ---: for right).