FeaturesGuideBlogFAQContactOpen Editor

The Complete Markdown Guide

A practical reference covering every Markdown element — from basic formatting to advanced GitHub Flavored Markdown. Written for developers, writers, and documentation authors.

What is Markdown?

Markdown is a lightweight markup language created by John Gruber in 2004. It lets you write formatted documents using plain text — no HTML required. The syntax is designed to be readable as-is, even before rendering.

Markdown is the standard format for README files on GitHub, documentation on platforms like GitBook and Notion, blog posts in static site generators like Jekyll and Hugo, and technical writing of all kinds.

The editor at markdown.co.in supports GitHub Flavored Markdown (GFM), which extends the original spec with tables, task lists, strikethrough, and fenced code blocks with syntax highlighting.

Headings

Use the hash character to create headings. The number of hashes corresponds to the heading level, from H1 to H6.

markdown
# Heading 1 — used for page titles
## Heading 2 — used for major sections
### Heading 3 — used for subsections
#### Heading 4
##### Heading 5
###### Heading 6

For accessibility and SEO, each page should have exactly one H1. Use H2 and H3 to structure your content logically.

Text Formatting

Markdown provides four inline formatting options: bold, italic, strikethrough, and inline code.

markdown
**Bold text** or __Bold text__
_Italic text_ or *Italic text*
~~Strikethrough~~
`Inline code`
**Bold and _italic_ combined**

Lists

Markdown supports unordered lists (using -, *, or +), ordered lists, and nested lists.

markdown
- First item
- Second item
  - Nested item
  - Another nested item
- Third item

1. First ordered item
2. Second ordered item
3. Third ordered item

Code

Use backticks for inline code and triple backticks (fenced code blocks) for multi-line code. Specifying a language after the opening fence enables syntax highlighting.

markdown
Inline: use `const x = 1` in your text.

Fenced block with language:
```python
def hello(name):
    return f"Hello, {name}!"
```

Supported languages include: javascript, typescript, python, bash, css, html, json, yaml, sql, go, rust, ruby, php, java, c, cpp, and 90+ more.

Tables

Tables are part of GitHub Flavored Markdown. Use pipes to separate columns and dashes to create the header separator row. Colons in the separator control alignment.

markdown
| Left aligned | Centered | Right aligned |
|:-------------|:--------:|--------------:|
| Cell A       | Cell B   | Cell C        |
| Cell D       | Cell E   | Cell F        |

Blockquotes

Use the > character to create a blockquote. Nested blockquotes use multiple > characters.

markdown
> This is a blockquote.
> It can span multiple lines.
>
> > This is a nested blockquote.

Task Lists

Task lists are a GFM extension. Use - [ ] for an unchecked item and - [x] for a checked item.

markdown
- [x] Write the introduction
- [x] Add syntax examples
- [ ] Review for accuracy
- [ ] Publish

Horizontal Rules

Use three or more dashes, asterisks, or underscores on their own line to create a horizontal rule.

markdown
---
***
___

Best Practices

  • Use a single H1 per document for clear structure and better SEO.
  • Leave a blank line before and after headings, lists, and code blocks for maximum compatibility across Markdown parsers.
  • Prefer fenced code blocks over indented code blocks — they support syntax highlighting.
  • Use reference-style links for long URLs to keep source text readable.
  • When writing documentation, keep line length under 120 characters for easier diff views in Git.
  • Use task lists for project READMEs to show progress at a glance.

Start writing better Markdown today

Free, private, no account needed — open the editor in your browser and write immediately.