What is Markdown? — Lightweight Markup Language Explained
What is Markdown? — Lightweight Markup Language Explained
Definition
Markdown is a lightweight markup language created by John Gruber and Aaron Swartz in 2004 that uses plain-text formatting syntax designed to be easy to read and write. Markdown converts readily to HTML and other formats while remaining readable in its raw form. Unlike WYSIWYG editors that hide the underlying formatting, Markdown keeps your content clean and version-control friendly without requiring users to write verbose HTML tags.
Basic Markdown Syntax
Markdown's core syntax covers the most common formatting needs with intuitive, minimal characters:
Headings
Use # signs to create headings:
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6Bold and Italic
**bold text** or __bold text__
*italic text* or _italic text_
***bold italic*** or ___bold italic___Links
[Link text](https://example.com)
[Link with title](https://example.com "Title")Images

Lists
Unordered:
- Item one
- Item two
- Nested item
* Also works with asterisks
+ And with plus signsOrdered:
1. First item
2. Second item
1. Sub-item (indented)
3. Third itemCode
Inline `code` within a sentence.
Indented code block (four spaces)Blockquotes
> This is a blockquote.
> It can span multiple lines.
>
>> Nested blockquotes work too.Horizontal Rules
---
***
___Extended Markdown Syntax
Many Markdown processors support additional features beyond the original specification:
Tables
| Header 1 | Header 2 | Header 3 |
|----------|:--------:|---------:|
| Left | Center | Right |
| Row 2 | Data | Value |Fenced Code Blocks
```javascript
function greet(name) {
return `Hello, null!`;
}
### Task Lists
```markdown
- [x] Completed task
- [ ] Incomplete task
- [ ] Another pending item
Footnotes
Here is a sentence with a footnote[^1].
[^1]: This is the footnote content.Strikethrough
~~This text is crossed out.~~Autolinks
<https://example.com>
<user@example.com>Example Markdown Document
Here is a sample document demonstrating common formatting in practice:
# Project Documentation
## Overview
**Markdown** makes writing documentation *fast* and readable.
## Installation
```bash
npm install my-projectConfiguration
Edit config.json to set your preferences:
| Option | Type | Default |
|---|---|---|
| theme | string | dark |
| port | number | 3000 |
| debug | boolean | false |
Roadmap
- Core features
- Documentation
- API endpoints
- Mobile support
Tip: Run
npm run devto start the development server.
Last updated: January 2025
---
## Markdown vs HTML vs WYSIWYG
| Aspect | Markdown | HTML | WYSIWYG |
|--------|----------|------|---------|
| **Learning Curve** | Minimal (5 minutes) | Moderate (weeks) | None (visual) |
| **Readability** | Excellent in raw form | Poor in raw form | Requires editor |
| **Version Control** | Excellent (meaningful diffs) | Poor (noisy diffs) | Terrible (binary/bloated) |
| **Portability** | High (text-based) | Universal | Low (proprietary formats) |
| **Expressive Power** | Limited (content-focused) | Full (layout + content) | Full (visual) |
| **Output Size** | Tiny | Moderate | Large |
| **Tool Dependence** | Any text editor | Any text editor | Specialized editor |
| **Export Options** | HTML, PDF, DOCX, LaTeX | Any (native web) | Usually PDF/DOCX |
---
## Common Markdown Use Cases
### README Files
GitHub, GitLab, and Bitbucket render `README.md` files automatically. Markdown is the de facto standard for repository documentation.
### Technical Documentation
Tools like **Docusaurus**, **MkDocs**, and **Read the Docs** use Markdown as their source format for generating documentation sites.
### Forums and Comments
Reddit, Stack Overflow, Discord, and many other platforms support Markdown for formatting posts and comments.
### Note-Taking
Apps like **Obsidian**, **Notion**, **Roam Research**, and **Bear** use Markdown (or extended variants) as their core content format.
### Static Site Generators
**Jekyll**, **Hugo**, **Next.js** (with MDX), **Eleventy**, and **Astro** use Markdown files as content sources for building websites.
### Email
Some email clients and tools support Markdown-to-email conversion for clean, formatted messages.
### Books and Academic Writing
**Pandoc** converts Markdown to LaTeX, PDF, EPUB, and DOCX, making it a popular choice for authors.
---
## Markdown Flavor Comparison
| Feature | Original Markdown | CommonMark | GitHub Flavored | MultiMarkdown |
|---------|------------------|------------|-----------------|---------------|
| **Tables** | No | Yes | Yes | Yes |
| **Fenced Code** | No | Yes | Yes | Yes |
| **Task Lists** | No | No | Yes | No |
| **Footnotes** | No | No | No | Yes |
| **Strikethrough** | No | No | Yes | Yes |
| **Autolinks** | No | Yes | Yes | Yes |
| **Math (LaTeX)** | No | No | No | Yes |
| **Definition Lists** | No | No | No | Yes |
| **YAML Front Matter** | No | No | No | No (other tools) |
| **Specification** | Informal | Formal spec | Extends CommonMark | Extends original |
**CommonMark** is a standardized, unambiguous specification for Markdown, developed to resolve inconsistencies across implementations. **GitHub Flavored Markdown (GFM)** extends CommonMark with tables, task lists, strikethrough, and autolinks — it powers GitHub, GitLab, and many developer tools.
---
## Why Use Markdown?
1. **Future-Proof** — Plain text never goes out of style. Your content remains accessible decades from now.
2. **Version Control Friendly** — Meaningful diffs make collaboration and history tracking straightforward.
3. **Fast** — No rich-text editor overhead. Write at the speed of thought.
4. **Ubiquitous** — Supported by virtually every developer platform, note-taking app, and static site generator.
5. **Minimalist** — Focus on content, not formatting. The syntax gets out of your way.
6. **Convertible** — Transform to HTML, PDF, DOCX, LaTeX, EPUB, and more with tools like Pandoc.
---
## LangStop Markdown Tools
- [Markdown Editor](https://langstop.com/markdown-editor) — Write and preview Markdown in real-time
- [HTML Formatter](https://langstop.com/html-formatter) — Format and beautify rendered HTML output
- [Text Diff](https://langstop.com/text-diff) — Compare Markdown files side by side