Markdown is a lightweight markup language that lets you format text using simple, readable syntax — no HTML tags, no WYSIWYG editors, no formatting menus. Created by John Gruber in 2004, it has become the de facto standard for writing on the internet: GitHub README files, technical documentation, blog posts, Slack messages, Notion pages, and even this guide are all written in Markdown.
Whether you are a developer writing documentation, a student taking notes, a blogger drafting articles, or a project manager creating wikis — learning Markdown takes 15 minutes and saves you hours. This guide covers every syntax element you need, from basic formatting to advanced tables and diagrams, with practical examples you can try in ToolsArena's free online Markdown editor.
Write & Preview Markdown Instantly
Free online Markdown editor with live preview. No sign-up required.
Markdown Basics: Headings, Text Formatting & Lists
Headings
Use # symbols to create headings. More hashes = smaller heading.
| Markdown | Output | HTML Equivalent |
|---|---|---|
# Heading 1 | Largest heading | <h1> |
## Heading 2 | Section heading | <h2> |
### Heading 3 | Sub-section | <h3> |
#### Heading 4 | Minor heading | <h4> |
##### Heading 5 | Small heading | <h5> |
###### Heading 6 | Smallest heading | <h6> |
Text Formatting
| Markdown | Result |
|---|---|
**bold text** | bold text |
*italic text* | italic text |
***bold and italic*** | bold and italic |
~~strikethrough~~ | |
`inline code` | inline code |
> blockquote | Indented quote block |
Lists
Unordered lists use -, *, or + as bullet markers:
- Item one
- Item two
- Nested item (indent with 2 spaces)
- Another nested item
- Item three
Ordered lists use numbers followed by a period:
1. First step
2. Second step
3. Third step
In Markdown, ordered list numbers do not need to be sequential. You can write 1. 1. 1. for every item and the renderer will auto-number them correctly. This makes reordering items much easier.
Links, Images & Code Blocks
Links
| Type | Markdown | Example |
|---|---|---|
| Inline link | [text](url) | [Google](https://google.com) |
| Link with title | [text](url "title") | [Google](https://google.com "Search engine") |
| Reference link | [text][ref] + [ref]: url | Cleaner for repeated URLs |
| Auto-link | <url> | <https://google.com> |
| Email link | <email> | <hello@example.com> |
Images
Images use the same syntax as links, prefixed with !:


To resize images in GitHub-Flavored Markdown, you can use HTML:
<img src="image.png" width="300" alt="Description">
Code Blocks
Inline code uses single backticks: `const x = 42;`
Fenced code blocks use triple backticks with an optional language identifier for syntax highlighting:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
```python
def greet(name):
return f"Hello, {name}!"
```
Most Markdown renderers (GitHub, VS Code, ToolsArena) support hundreds of languages: javascript, python, java, go, rust, sql, bash, html, css, json, yaml, typescript, ruby, php, c, cpp, csharp, swift, kotlin, and many more.
Tables, Task Lists & Advanced Syntax
Tables
Markdown tables use pipes | and hyphens -:
| Name | Role | City |
|---------|-----------|-----------|
| Alice | Developer | Mumbai |
| Bob | Designer | Bangalore |
| Charlie | PM | Delhi |
Column alignment is controlled by colons in the separator row:
| Left | Center | Right |
|:-------|:-------:|-------:|
| text | text | text |
:---= left-aligned (default):---:= centre-aligned---:= right-aligned
Task Lists (GitHub-Flavored Markdown)
- [x] Create project repository
- [x] Set up CI/CD pipeline
- [ ] Write unit tests
- [ ] Deploy to production
Renders as interactive checkboxes in GitHub issues and pull requests.
Horizontal Rules
Three or more hyphens, asterisks, or underscores create a horizontal line:
---
***
___
Footnotes
Markdown was created by John Gruber[^1] in 2004.
[^1]: John Gruber is the author of Daring Fireball blog.
Emoji (GitHub-Flavored)
:rocket: :fire: :thumbsup: :warning:
Markdown tables can be tedious to format manually. In ToolsArena's Markdown editor, the live preview shows your table rendered instantly — so you can fix alignment issues in real time without switching between editor and browser.
GitHub-Flavored Markdown (GFM): Features Developers Need
GitHub-Flavored Markdown (GFM) extends standard Markdown with features specifically useful for developers and collaboration:
Auto-linked References
| Syntax | Links To |
|---|---|
#123 | Issue or PR #123 in the same repo |
@username | User's GitHub profile |
org/repo#123 | Issue #123 in another repo |
SHA hash | Specific commit |
Alert Blocks (New in GitHub)
> [!NOTE]
> This is a note.
> [!TIP]
> This is a tip.
> [!WARNING]
> This is a warning.
> [!CAUTION]
> This is a caution.
These render as beautifully styled callout boxes in GitHub READMEs and issues.
Mermaid Diagrams
GitHub supports Mermaid diagrams inside fenced code blocks:
```mermaid
graph LR
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
```
This renders as an interactive flowchart diagram — no images or external tools needed.
Math Expressions (LaTeX)
GitHub supports LaTeX math in Markdown:
Inline: $E = mc^2$
Block:
$$
\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n
$$
Not all GFM features work on every platform. Task lists and tables are widely supported. Mermaid diagrams and math expressions currently work on GitHub, GitLab, and a few documentation platforms. ToolsArena's Markdown editor supports standard Markdown syntax with live preview.
Common Use Cases & Pro Tips
Best Use Cases for Markdown
- GitHub README files: Every open-source project needs a well-formatted README. Use headings, badges, installation instructions, and code examples.
- Technical documentation: Tools like MkDocs, Docusaurus, and GitBook use Markdown files as the source for beautiful documentation sites.
- Blog posts: Platforms like DEV.to, Hashnode, and Hugo static sites accept Markdown directly. Write once, publish anywhere.
- Note-taking: Apps like Obsidian, Notion, and Logseq use Markdown as their native format. Your notes remain portable and future-proof.
- Email drafts: Write in Markdown, convert to rich text. Many email clients and extensions support this workflow.
- Presentations: Tools like Marp and Slidev let you create slide decks from Markdown files.
Pro Tips for Better Markdown
- Add a blank line between elements: Paragraphs, lists, and headings need blank lines before and after them to render correctly. This is the #1 cause of formatting issues.
- Use reference-style links for readability: If you link to the same URL multiple times, use
[text][ref]syntax to keep your source clean. - Escape special characters with backslash: To display literal
*,#,[,], use\*,\#,\[,\]. - Use two spaces at the end of a line for a line break: Or use
<br>for explicit line breaks within a paragraph. - Keep lines under 80–120 characters: This makes Markdown readable as source code and easier to diff in Git.
Markdown Editor Comparison
| Editor | Platform | Price | Best For |
|---|---|---|---|
| ToolsArena | Web (browser) | Free | Quick editing, no install, live preview |
| VS Code | Desktop | Free | Developers, extensions, Git integration |
| Obsidian | Desktop + Mobile | Free (personal) | Note-taking, knowledge management |
| Typora | Desktop | $14.99 one-time | Distraction-free WYSIWYG writing |
| StackEdit | Web | Free | Google Drive integration |
| HackMD | Web | Freemium | Collaborative editing, teams |
Open ToolsArena's Markdown editor, paste your text on the left, and see the formatted output on the right in real time. It is the fastest way to learn Markdown — experiment with syntax and instantly see the result.
How to Use the Tool (Step by Step)
- 1
Open the Markdown editor
Go to ToolsArena's free online Markdown editor. No sign-up or installation required.
- 2
Write or paste your Markdown
Type Markdown syntax in the left panel — headings with #, bold with **, lists with -, etc.
- 3
Preview the formatted output
The right panel shows a live preview of how your Markdown will render as formatted text.
- 4
Copy or export
Copy the rendered HTML or your Markdown source for use in GitHub, blogs, documentation, or anywhere else.
Frequently Asked Questions
What is Markdown used for?+−
Markdown is used for writing formatted text with simple syntax. Common uses include GitHub README files, technical documentation, blog posts, note-taking (Obsidian, Notion), wikis, and email drafts. It converts to HTML, PDF, and many other formats.
How do I create a table in Markdown?+−
Use pipes (|) and hyphens (-) to create tables. Example: | Header 1 | Header 2 | followed by |----------|----------| and then | Cell 1 | Cell 2 |. Use colons for alignment: :--- (left), :---: (center), ---: (right).
What is the difference between Markdown and HTML?+−
Markdown is a simplified syntax that converts to HTML. For example, **bold** becomes <strong>bold</strong>. Markdown is easier to read and write than raw HTML but supports fewer features. Most Markdown renderers also allow inline HTML for advanced formatting.
Does Markdown support syntax highlighting?+−
Yes. Use fenced code blocks with a language identifier: ```javascript followed by your code and closing ```. Most renderers support hundreds of languages including JavaScript, Python, Java, Go, Rust, SQL, and more.
Can I use Markdown for a blog?+−
Yes. Many blogging platforms accept Markdown directly: DEV.to, Hashnode, Medium (with conversion), Ghost, and static site generators like Hugo, Jekyll, and Next.js. Write in Markdown once and publish across multiple platforms.
Write & Preview Markdown Instantly
Free online Markdown editor with live preview. No sign-up required.
Open Markdown Editor →Related Guides
JSON Formatter Guide
A complete developer reference for JSON syntax, common errors, formatting options, and how to validate JSON in any language or tool.
Base64 Encode & Decode — What It Is, How It Works & When to Use It
Developer guide to Base64 encoding: use cases, online decoder, and common pitfalls
URL Encode & Decode — What It Is, How It Works & When to Use It
Developer guide to URL encoding: percent-encoding, query strings, and common pitfalls