Markdown Preview Editor
Write Markdown on the left, see the live HTML preview on the right — nothing sent to any server
Welcome to Markdown Preview
Markdown Preview is a real-time editor and renderer. Edit on the left, see the result on the right.
Text Formatting
You can write bold, italic, strikethrough, or inline code.
Combine them: bold and italic together or crossed out bold.
Headings
H1 Heading
H2 Heading
H3 Heading
H4 Heading
H5 Heading
H6 Heading
Lists
Unordered List
- Item one
- Item two
- Nested item A
- Nested item B
- Item three
Ordered List
- First step
- Second step
- Third step
Task List
- Write the parser
- Build the UI
- Add more features
- Deploy to production
Links and Images
Visit PureDevTools for more developer tools.
Blockquotes
"The best code is code that doesn't need to be written." — Unknown
Code Blocks
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet('World'));
def greet(name: str) -> str:
return f"Hello, {name}!"
print(greet("World"))
Tables
| Tool | Category | Rating |
|---|---|---|
| JSON Formatter | Data | ⭐⭐⭐⭐⭐ |
| Base64 Encoder | Encoding | ⭐⭐⭐⭐⭐ |
| Regex Tester | Testing | ⭐⭐⭐⭐⭐ |
Horizontal Rule
This preview updates in real-time as you type!
What Is Markdown?
Markdown is a lightweight markup language created by John Gruber in 2004. It lets you write plain text with simple, human-readable formatting symbols that can be converted to HTML. A line starting with # becomes a heading, text wrapped in ** becomes bold, and a URL wrapped in [text](url) becomes a hyperlink.
Markdown is intentionally designed to be readable as-is — a raw Markdown file is nearly as readable as the rendered output. This makes it ideal for:
- README files — the first thing visitors see on GitHub, npm, and similar platforms
- Documentation — technical docs, wikis, and knowledge bases (Confluence, Notion, GitBook)
- Blog posts — static site generators like Jekyll, Hugo, Astro, and Gatsby all use Markdown
- Chat and issue trackers — GitHub Issues, Slack, Discord, and Linear support Markdown
- Note-taking — tools like Obsidian, Logseq, and Notion use Markdown as their native format
Supported Markdown Syntax
Headings
Use one to six # characters at the start of a line to create headings:
# H1 — Page title
## H2 — Major section
### H3 — Subsection
#### H4 — Sub-subsection
##### H5
###### H6 — Smallest heading
Text Formatting
| Syntax | Output |
|---|---|
**bold** or __bold__ | bold |
*italic* or _italic_ | italic |
~~strikethrough~~ | |
`inline code` | inline code |
Links and Images
[Link text](https://example.com)

Both links and images support an optional title: [text](url "Title").
Code Blocks
Wrap code in triple backticks and optionally specify the language for syntax highlighting:
```javascript
const greeting = (name) => `Hello, ${name}!`;
```
Supported language identifiers include javascript, typescript, python, rust, go, java, css, html, json, bash, sql, and many more.
Blockquotes
Prefix lines with > to create a blockquote:
> This is a blockquote.
> It can span multiple lines.
Blockquotes can be nested:
> Outer quote
> > Inner quote
Lists
Unordered lists use -, *, or + as bullet markers:
- First item
- Second item
- Nested item (2 spaces of indent)
Ordered lists use numbers followed by a period:
1. First step
2. Second step
3. Third step
Task lists (GitHub Flavored Markdown) use - [ ] for unchecked and - [x] for checked items:
- [x] Completed task
- [ ] Pending task
Tables (GFM)
Tables use pipe characters (|) to separate columns. The second row must contain at least three hyphens in each cell:
| Name | Score | Grade |
|-------|------:|:-----:|
| Alice | 95 | A |
| Bob | 82 | B+ |
Control alignment with colons in the separator row:
:---— left-align (default)---:— right-align:---:— center-align
Horizontal Rules
Three or more hyphens, asterisks, or underscores on a line create a horizontal rule:
---
***
___
GitHub Flavored Markdown (GFM)
GitHub Flavored Markdown is a superset of the CommonMark specification used across GitHub, GitLab, and many other platforms. This tool supports all GFM extensions:
- Tables — column alignment with colons
- Task lists — interactive checkboxes (rendered as disabled in static HTML)
- Strikethrough —
~~text~~ - Fenced code blocks — triple backticks with optional language identifier
- URL auto-linking (planned)
How to Use This Tool
- Type Markdown in the left editor — the preview on the right updates instantly
- Use the toolbar to insert formatting without memorizing syntax (Bold, Italic, Heading, Link, Image, Code, List)
- Keyboard shortcuts — Ctrl+B for bold, Ctrl+I for italic, Tab for 2-space indent
- Copy HTML — export the rendered HTML for use in websites, emails, or CMSs
- Copy Markdown — copy the raw Markdown source to paste elsewhere
- Fullscreen mode — expand either pane for a distraction-free writing experience
Markdown vs HTML
Markdown is often described as “HTML for humans.” While HTML is powerful and flexible, it is verbose and hard to read in raw form. Markdown trades some of that flexibility for readability and ease of typing.
| Feature | Markdown | HTML |
|---|---|---|
| Readability | ✅ Human-readable | ❌ Tag-heavy |
| Learning curve | ✅ Minutes | ❌ Hours |
| Expressiveness | ⚠️ Limited | ✅ Full control |
| Tooling | ✅ Universal | ✅ Universal |
| Conversion | ✅ To HTML/PDF/etc | — |
For most writing tasks — documentation, READMEs, blog posts, notes — Markdown is the better choice. For complex layouts and interactive elements, HTML (or a component framework) is more appropriate.
Common Markdown Mistakes
Forgetting blank lines between blocks — A heading or list must be separated from the preceding paragraph by a blank line.
Missing spaces after markers — #Heading does not create a heading; it must be # Heading (with a space). Similarly, -item is not a list; - item or - item is.
Using single quotes in links — URLs in Markdown links must not be quoted, or must use double quotes for the optional title: [text](url "title").
Nested lists need correct indentation — Nested list items must be indented by exactly 2 or 4 spaces (depending on the parser) to be recognized as children.
Frequently Asked Questions
What is the difference between Markdown and rich text editors? Rich text editors (like Microsoft Word or Google Docs) use a WYSIWYG interface where formatting is applied immediately and stored in a proprietary format. Markdown stores formatting as plain text symbols, which makes it version-control friendly, portable, and editable in any text editor.
Can I use Markdown in emails? Most email clients do not natively render Markdown. However, you can write Markdown here, copy the rendered HTML using the “Copy HTML” button, and paste it into an email client that accepts HTML (like Gmail or Outlook). Some email tools like HEY and Fastmail support Markdown natively.
Does Markdown support colors or custom fonts? Standard Markdown does not support colors, fonts, or custom CSS. For these, you need to either use inline HTML (which many Markdown renderers allow) or use a CSS stylesheet applied to the rendered output.
What is the difference between CommonMark and standard Markdown? CommonMark is a strict, unambiguous specification of Markdown published in 2014. It resolves many inconsistencies in the original Markdown specification. GitHub Flavored Markdown (GFM) is a superset of CommonMark that adds tables, task lists, and other extensions. This tool implements GFM-compatible rendering.
Is my content private? Yes. All Markdown parsing and HTML rendering happens entirely in your browser. No content is sent to any server. Your writing stays on your device.