Markdown Editor
Write and preview Markdown with live rendering
Text ToolsHow to Use Markdown Editor
What is Markdown?
Markdown is a lightweight markup language that uses plain text formatting syntax to create rich text documents. Created by John Gruber in 2004, Markdown is now the standard for writing documentation, README files, blog posts, and notes.
Why use Markdown?
- Simple: Easy to learn, read, and write
- Portable: Plain text works everywhere
- Powerful: Create headings, lists, links, code blocks, tables, and more
- Universal: Supported by GitHub, Reddit, Stack Overflow, Notion, Obsidian, and thousands of apps
- Future-proof: Plain text files never go out of style
Common uses:
- Documentation: README files, technical docs, API guides
- Blogging: Write blog posts in Markdown, publish to WordPress, Medium, Ghost
- Note-taking: Obsidian, Notion, Bear, Joplin all use Markdown
- Communication: GitHub issues, Reddit posts, Slack messages
- Books & articles: Draft manuscripts, essays, academic papers
What is a Markdown Editor?
A Markdown editor is a tool that helps you write Markdown with live preview and formatting helpers. This tool provides:
- Two-pane interface: Write Markdown on the left, see live preview on the right
- Toolbar helpers: Quick buttons for bold, italic, headings, lists, and code blocks
- Live rendering: Preview updates as you type
- Word & line count: Track document length
- Sample content: Load demo Markdown to learn syntax
- Copy to clipboard: Export formatted Markdown
How to Use This Markdown Editor
Step 1: Start Writing or Load Sample
Option A: Start from Scratch
Click into the left pane (editor) and start typing Markdown syntax.
Example:
# My First Markdown Document
This is a paragraph with **bold** and *italic* text.
Option B: Load Sample Content
Click the "Sample" button in the top-right to load a demo Markdown document with:
- Headings
- Lists
- Bold and italic text
- Code blocks
- Blockquotes
- Tables
Use case: Learn Markdown syntax by exploring the sample, then edit it to create your own document.
Step 2: Use the Toolbar for Formatting
The toolbar provides quick formatting helpers that insert or wrap Markdown syntax at your cursor position.
Bold
- Button: Click "Bold" in toolbar
- What it does: Wraps selected text in
**double asterisks** - If no selection: Inserts
**bold text** - Keyboard alternative: Manually type
**your text**
Example:
- Before:
This is important - Select "important" → Click Bold
- After:
This is **important**
Italic
- Button: Click "Italic" in toolbar
- What it does: Wraps selected text in
*single asterisks* - If no selection: Inserts
*italic text* - Keyboard alternative: Manually type
*your text*or_your text_
Example:
- Before:
This is emphasized - Select "emphasized" → Click Italic
- After:
This is *emphasized*
Heading
- Button: Click "Heading" in toolbar
- What it does: Prefixes selected line(s) with
# - If no selection: Inserts
# Heading - Markdown levels:
#(h1),##(h2),###(h3),####(h4),#####(h5),######(h6)
Example:
- Before:
Introduction - Select "Introduction" → Click Heading
- After:
# Introduction
Tip: Manually add more # symbols for smaller headings (e.g., ## Subheading, ### Sub-subheading).
List
- Button: Click "List" in toolbar
- What it does: Prefixes selected line(s) with
-(unordered list) - If no selection: Inserts
- List item - Ordered lists: Manually type
1. Item,2. Item, etc.
Example:
- Before:
Apples Oranges Bananas - Select all → Click List
- After:
- Apples - Oranges - Bananas
Code
- Button: Click "Code" in toolbar
- What it does:
- Single line: Wraps in backticks:
`code` - Multiple lines: Wraps in fenced code block:
``` code ```
- Single line: Wraps in backticks:
- If no selection: Inserts
`code block`
Example (inline code):
- Before:
The function getName returns a string - Select "getName" → Click Code
- After:
The function `getName` returns a string
Example (code block):
- Before:
function hello() { return "Hi"; } - Select all → Click Code
- After:
``` function hello() { return "Hi"; } ```
Tip: Add language identifier for syntax highlighting: ```javascript
Step 3: View Live Preview
The right pane shows a live-rendered preview of your Markdown.
What you see:
- Headings styled with hierarchy (h1 largest, h6 smallest)
- Bold and italic text formatted
- Lists rendered as bullet points or numbered items
- Code blocks with monospace font and background
- Blockquotes with left border and indentation
- Tables with borders and alignment
Preview updates:
- Instantly: As you type, the preview refreshes automatically
- No reload needed: Changes appear in real-time
Use case: Write on the left, verify formatting on the right, iterate until perfect.
Step 4: Track Word & Line Count
The toolbar displays real-time statistics:
- Words: Total word count (useful for blog posts, essays, meeting length targets)
- Lines: Number of lines in the editor
Example:
- Editor content:
# Hello World This is a test. - Stats:
4 words · 3 lines
Use case: Track progress toward word count goals (e.g., 500-word blog post, 1,000-word article).
Step 5: Copy Markdown to Clipboard
Click "Copy Markdown" in the top-right of the preview pane to copy the raw Markdown text to your clipboard.
When to use:
- Export to other apps: Paste into Notion, Obsidian, GitHub, etc.
- Save locally: Paste into a
.mdfile in your text editor - Share with others: Send Markdown via email or Slack
Confirmation: After clicking, you''ll see "Markdown copied to clipboard" below the preview.
Note: This copies the raw Markdown (not HTML). To convert Markdown to HTML, use a separate converter tool.
Step 6: Clear or Reset
Click "Clear" to erase all content and start fresh.
What it does:
- Empties the editor
- Clears the preview
- Resets word/line count to
0 words · 0 lines
Use case: Start a new document without reloading the page.
Markdown Syntax Quick Reference
Headings
# Heading 1 (largest)
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6 (smallest)
Rendered:
Heading 1
Heading 2
Heading 3
Tip: Use # for document titles, ## for sections, ### for subsections.
Bold and Italic
**Bold text**
*Italic text*
***Bold and italic***
Rendered:
- Bold text
- Italic text
- Bold and italic
Alternative syntax:
- Bold:
__double underscores__ - Italic:
_single underscores_
Lists
Unordered Lists
- Item 1
- Item 2
- Nested item 2.1
- Nested item 2.2
- Item 3
Rendered:
- Item 1
- Item 2
- Nested item 2.1
- Nested item 2.2
- Item 3
Ordered Lists
1. First item
2. Second item
3. Third item
1. Nested item 3.1
2. Nested item 3.2
Rendered:
- First item
- Second item
- Third item
- Nested item 3.1
- Nested item 3.2
Tip: Numbers auto-increment in most Markdown renderers, so you can use 1. for all items.
Links and Images
Links
[Link text](https://example.com)
[Link with title](https://example.com "Hover text")
Rendered: Link text
Images


Rendered: (Image would appear here)
Code
Inline Code
Use the `console.log()` function to print output.
Rendered: Use the console.log() function to print output.
Code Blocks
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
Rendered:
function greet(name) {
return `Hello, ${name}!`;
}
Tip: Specify language (javascript, python, bash, etc.) for syntax highlighting in most renderers.
Blockquotes
> "Good design is as little design as possible."
> — Dieter Rams
Rendered:
"Good design is as little design as possible." — Dieter Rams
Nested blockquotes:
> Level 1
>> Level 2
>>> Level 3
Horizontal Rules
---
***
___
Rendered:
Use case: Separate sections in long documents.
Tables
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Row 1 | Data | Content |
| Row 2 | Data | Content |
Rendered:
| Header 1 | Header 2 | Header 3 |
|---|---|---|
| Row 1 | Data | Content |
| Row 2 | Data | Content |
Alignment:
| Left | Center | Right |
|:-----|:------:|------:|
| A | B | C |
:---= left-aligned:---:= center-aligned---:= right-aligned
Task Lists (GitHub Flavored Markdown)
- [x] Completed task
- [ ] Incomplete task
- [ ] Another task
Rendered (in GitHub, Obsidian, etc.):
- Completed task
- Incomplete task
- Another task
Note: Not all Markdown renderers support task lists. Check your target platform.
Common Use Cases
Case 1: Writing a README for GitHub
Goal: Create a professional README.md for your GitHub repository.
Steps:
-
Click "Sample" to see Markdown examples
-
Clear the editor
-
Structure your README:
# Project Name Short description of what your project does. ## Installation ```bash npm install project-nameUsage
import { feature } from "project-name";Contributing
Pull requests are welcome!
License
MIT
-
Click "Copy Markdown"
-
Create
README.mdin your repo and paste
Result: Professional, well-formatted README visible on GitHub.
Case 2: Drafting a Blog Post
Goal: Write a blog post in Markdown, then export to WordPress or Medium.
Steps:
- Write your post using headings, lists, and bold/italic for emphasis
- Use the word count to track progress (e.g., aim for 800 words)
- Preview formatting in the right pane
- Copy Markdown and paste into your blogging platform
Example structure:
# How to Build a Todo App
Building a todo app is a great way to learn web development. Here''s how to get started.
## Step 1: Set Up Your Project
Install dependencies:
- React
- TypeScript
- Tailwind CSS
## Step 2: Create Components
...
Result: Polished blog post ready for publishing.
Case 3: Taking Meeting Notes
Goal: Document meeting discussions with action items.
Steps:
- Use headings for meeting title and sections:
# Team Standup — 2025-01-15 ## Attendees - Alice, Bob, Charlie ## Discussion - Reviewed sprint progress - Identified blockers ## Action Items - [ ] Alice: Fix login bug - [ ] Bob: Review PR #123 - [ ] Charlie: Update docs - Copy Markdown and save to Notion, Obsidian, or a
.mdfile
Result: Organized, actionable meeting notes.
Case 4: Creating Documentation
Goal: Write API documentation or user guides.
Steps:
- Use headings for sections and subsections
- Use code blocks for examples:
## API Reference ### `getUserById(id: string)` Fetches user by ID. **Example**: ```typescript const user = await getUserById("12345"); console.log(user.name); ``` **Returns**: `User` object - Preview to ensure formatting is clear
- Copy and paste into your documentation platform
Result: Clear, professional documentation.
Case 5: Writing Academic Papers (Draft)
Goal: Draft an essay or research paper outline.
Steps:
- Use headings for sections:
# The Impact of AI on Education ## Abstract ... ## Introduction ... ## Literature Review ... ## Methodology ... ## Conclusion ... ## References - Author, A. (2024). *Title*. Publisher. - Use blockquotes for citations
- Track word count to meet assignment requirements
Result: Well-structured academic draft ready for further editing.
Best Practices
Do''s
- ✅ Use headings hierarchically: Start with
#, then##,###— don''t skip levels - ✅ Leave blank lines: Add blank lines between paragraphs, headings, and lists for readability
- ✅ Use code blocks for code: Wrap code in backticks or fenced blocks, not inline text
- ✅ Preview before copying: Check the right pane to verify formatting
- ✅ Use task lists for todos:
- [ ] Taskcreates checkboxes in GitHub, Obsidian - ✅ Keep it simple: Markdown is meant to be readable as plain text
Don''ts
- ❌ Don''t mix HTML and Markdown unnecessarily: Markdown is cleaner and more portable
- ❌ Don''t nest too deeply: More than 3 levels of lists or headings becomes hard to read
- ❌ Don''t forget alt text for images: Always use
for accessibility - ❌ Don''t use Markdown for complex layouts: Use HTML or a document editor instead
- ❌ Don''t rely on custom syntax: Stick to standard Markdown for maximum compatibility
Keyboard Shortcuts (Manual)
This tool doesn''t have built-in keyboard shortcuts, but you can manually type Markdown syntax:
| Syntax | Shortcut (manual typing) |
|---|---|
| Bold | Type **text** |
| Italic | Type *text* |
| Heading | Type # Text |
| List | Type - Item or 1. Item |
| Link | Type [text](url) |
| Code | Type `code` or ```code``` |
| Blockquote | Type > Quote |
| Horizontal rule | Type --- |
Tip: Most Markdown editors (VS Code, Obsidian, Typora) support keyboard shortcuts like Ctrl+B for bold. This web tool uses toolbar buttons for simplicity.
Exporting and Compatibility
Where to Use Your Markdown
Direct paste (Markdown supported):
- GitHub: README.md, issues, pull requests, discussions
- Reddit: Posts and comments
- Stack Overflow: Questions and answers
- Discord / Slack: Messages (limited support)
- Notion: Import or paste Markdown blocks
- Obsidian / Joplin / Bear: Native Markdown note-taking apps
Convert to HTML (for blogs, emails):
- Use a Markdown-to-HTML converter (many available online)
- Paste HTML into WordPress, Medium, email newsletters
Save as file:
- Copy Markdown → Paste into text editor → Save as
.mdfile - Open in VS Code, Sublime Text, or any Markdown editor
Markdown Flavors
Different platforms use slightly different Markdown syntax:
| Flavor | Platforms | Unique Features |
|---|---|---|
| CommonMark | Standard spec | Pure Markdown, no extensions |
| GitHub Flavored Markdown (GFM) | GitHub, GitLab | Task lists, tables, strikethrough |
| Markdown Extra | PHP-based | Footnotes, definition lists |
| MultiMarkdown | Academic writing | Citations, cross-references |
This tool uses standard Markdown rendering. Most syntax works across all flavors, but test platform-specific features (e.g., task lists) in your target environment.
Troubleshooting
Preview Doesn''t Match Expected Output
Cause: You may be using syntax specific to GitHub or another Markdown flavor.
Solution:
- Stick to standard Markdown (headings, lists, bold, italic, links, code)
- Test platform-specific syntax (task lists, tables) in the actual target platform
- Check for typos (e.g., missing closing
**for bold)
Toolbar Buttons Don''t Work
Cause: JavaScript error or browser compatibility issue.
Solution:
- Refresh the page
- Try a different browser (Chrome, Firefox, Safari, Edge all supported)
- Manually type Markdown syntax instead of using toolbar
Copy Button Doesn''t Copy
Cause: Clipboard API blocked by browser settings.
Solution:
- Manually select all text in the editor (
Ctrl+AorCmd+A) - Copy with
Ctrl+CorCmd+C - Grant clipboard permissions in your browser settings
Formatting Looks Wrong in Preview
Cause: Markdown syntax error (e.g., unclosed bold, missing blank lines).
Solution:
- Check for matching pairs:
**bold**,*italic*,`code` - Add blank lines between paragraphs, headings, and lists
- Refer to syntax examples in this guide
Privacy and Security
Browser-Based Rendering
This Markdown editor runs 100% in your browser:
- ✅ No data sent to servers
- ✅ No tracking or analytics on your content
- ✅ No cookies or storage
- ✅ Works offline (once page loads)
Your documents are private. All editing and rendering happens locally using JavaScript.
No Auto-Save
Important: This tool does not auto-save your work.
Recommendations:
- Copy Markdown frequently and save to a local file
- Use
Ctrl+Sto save the page (some browsers allow this) - For longer documents, use a dedicated Markdown editor with auto-save (Obsidian, Typora, VS Code)
Advanced Tips
Combining Markdown with HTML
You can mix Markdown and HTML for advanced formatting:
# My Heading
<div style="color: red;">
This text is red.
</div>
Regular **Markdown** still works.
Note: Not all Markdown renderers support HTML. GitHub allows limited HTML; Obsidian and others may strip it.
Using Markdown for Presentations
Tools like Marp and reveal.js let you create slides from Markdown:
---
# Slide 1
Content here
---
# Slide 2
More content
Use case: Create presentations in plain text, export to PDF or HTML.
Markdown for Ebooks
Convert Markdown to ePub or PDF using tools like Pandoc:
pandoc book.md -o book.epub
pandoc book.md -o book.pdf
Use case: Write novels, technical books, or guides in Markdown, publish in multiple formats.
External Resources
- Markdown Guide – Comprehensive Markdown tutorial and reference
- CommonMark Spec – Official Markdown specification
- GitHub Flavored Markdown – GitHub''s Markdown variant
- Dillinger – Another online Markdown editor
- Typora – Desktop Markdown editor (WYSIWYG)
- Obsidian – Markdown-based note-taking app
- Pandoc – Universal document converter (Markdown to PDF, ePub, HTML)
Frequently Asked Questions
Related Utility Tools
Temperature Converter
FeaturedConvert temperatures between Celsius, Fahrenheit, and Kelvin instantly with live conversion
Use Tool →Unit Converter
FeaturedConvert between length, weight, and volume units instantly. Support for metric and imperial systems.
Use Tool →Word Counter
FeaturedCount words, characters, sentences, and reading time instantly
Use Tool →Area Converter
FeaturedConvert areas between square feet, square meters, acres, hectares, and square yards instantly
Use Tool →Time Zone Converter
FeaturedConvert between time zones and see current or custom time across different parts of the world
Use Tool →Speed Converter
FeaturedConvert speeds between miles per hour (MPH), kilometers per hour (KPH), and knots instantly
Use Tool →Minify JavaScript
Minify and compress JavaScript code to reduce file size for production. Remove comments, whitespace, and optimize code for faster loading.
Use Tool →Paper Size Converter
Convert between international paper sizes (A4, Letter, Legal) with dimensions in mm, cm, and inches. Compare ISO A/B series and North American paper standards.
Use Tool →Share Your Feedback
Help us improve this tool by sharing your experience