Markdown Guide
A comprehensive guide to Markdown syntax and formatting
What is Markdown?
Markdown is a lightweight markup language created by John Gruber in collaboration with Aaron Swartz in 2004. It's designed to be easy to read and write, with a syntax that's intuitive and unobtrusive. Markdown files use the .md
or .markdown
extension.
With Markdown, you can format text, create lists, add images, and more using simple, plain-text syntax. It's widely used for documentation, README files, forum posts, and content management systems.
The primary goal of Markdown is to provide a syntax that is as readable as possible, so that documents can be read in plain text without appearing to be marked up with formatting instructions. This makes it ideal for writers who want to focus on content rather than formatting.
The History of Markdown
John Gruber created Markdown in 2004 with the goal of enabling people to "write using an easy-to-read, easy-to-write plain text format, and optionally convert it to structurally valid XHTML (or HTML)."
Since its creation, Markdown has grown to become one of the world's most popular markup languages. It has been adopted by major platforms like GitHub, Reddit, Stack Overflow, and Discord, and is supported by countless applications across all operating systems.
Over time, various flavors of Markdown have emerged, including GitHub Flavored Markdown, CommonMark, and MultiMarkdown, each adding features to the original specification while maintaining backward compatibility.
Why Use Markdown?
- Simplicity: Easy to learn and use with minimal syntax, making it accessible to writers of all technical levels
- Portability: Works across different platforms and applications, ensuring your content remains usable regardless of the tool
- Focus on Content: Write without the distraction of formatting tools, allowing you to concentrate on your message
- Convertibility: Easily converts to HTML, PDF, DOCX, and other formats, making it versatile for different publishing needs
- Version Control: Plain text format works well with version control systems like Git, making it ideal for collaborative writing
- Future-Proof: Being plain text, Markdown files will remain readable and editable for decades to come
- Lightweight: Markdown files are typically smaller than their formatted counterparts, making them faster to transfer and store
- Accessibility: Properly structured Markdown translates to semantic HTML, which is better for accessibility
Popular Markdown Flavors
While the original Markdown specification by John Gruber provides the foundation, several extended syntaxes have emerged to address specific needs:
GitHub Flavored Markdown (GFM)
Used on GitHub, adds support for tables, task lists, syntax highlighting, and automatic linking of URLs.
CommonMark
A standardized, unambiguous syntax specification for Markdown, with a comprehensive test suite.
MultiMarkdown
Adds features like tables, footnotes, citations, and metadata, making it suitable for academic writing.
Markdown Extra
Includes additional features like tables, fenced code blocks, definition lists, and footnotes.
Basic Markdown Syntax
Here's a quick overview of the most common Markdown elements:
Headings
# Heading 1
## Heading 2
### Heading 3
Create headings with # symbols
Emphasis
**Bold text**
*Italic text*
~~Strikethrough~~
Style text with asterisks or tildes
Lists
- Unordered item
- Another item
- Nested item
1. Ordered item
2. Second item
Create lists with hyphens or numbers
Links & Images
[Link text](https://example.com)

Add links and images with brackets and parentheses
Markdown Elements
Advanced
Extended Markdown features and syntax
Blockquotes
Create quoted text blocks
Code Blocks
Display code with syntax highlighting
Emojis
Add emoji characters to your content
Emphasis
Bold, italic, and other text styling
Footnotes
Add references and notes to your text
Headings
Create section titles of different levels
Highlights
Emphasize text with highlighting
Images
Insert and format images
Links
Create hyperlinks to other resources
Lists
Ordered and unordered lists
Paragraphs
Basic text formatting and spacing
Tables
Create structured data tables
Where Markdown Is Used
Markdown has become the standard format for writing in many contexts. Here are some of the most common applications:
Documentation
Technical documentation, user guides, and README files for software projects are commonly written in Markdown.
- GitHub, GitLab, and Bitbucket repositories
- Software documentation sites
- API documentation
- Internal team wikis
Content Management
Many modern content management systems and static site generators use Markdown as their primary content format.
- Static site generators (Jekyll, Hugo, Gatsby)
- Blogging platforms (Ghost, WordPress with plugins)
- Documentation sites (Docusaurus, MkDocs)
- Knowledge bases and wikis
Communication
Many communication platforms support Markdown formatting for messages and posts.
- Slack and Discord messages
- Reddit posts and comments
- Stack Overflow questions and answers
- Forum software like Discourse
Note-Taking
Many modern note-taking applications use Markdown as their formatting syntax.
- Obsidian for personal knowledge management
- Notion for team wikis and personal notes
- Joplin for cross-platform note-taking
- iA Writer for distraction-free writing
Markdown in Academic Writing
Markdown is increasingly being adopted in academic contexts for its simplicity and ability to focus on content rather than formatting:
- Research papers written in Markdown and converted to PDF using tools like Pandoc
- Academic websites and blogs for sharing research
- Collaborative writing using version control systems
- Lecture notes and educational materials
Markdown Tools and Editors
Try Our Markdown Tools
321Markdown offers a suite of tools to help you work with Markdown more efficiently.
Learning Resources
New to Markdown? These resources will help you get started:
- Our comprehensive Markdown Guide with interactive examples
- The Markdown Guide - An excellent reference
- CommonMark Help - Interactive Markdown tutorial
- GitHub Flavored Markdown Spec - For the technical details