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.
# 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.
**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.
- First item - Second item - Nested item - Another nested item - Third item 1. First ordered item 2. Second ordered item 3. Third ordered item
Links and Images
Links and images share similar syntax. The key difference is the exclamation mark at the start for images.
[Link text](https://example.com) [Link with title](https://example.com "Hover title")  
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.
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.
| 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.
> 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.
- [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.
--- *** ___
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.