Published on Wed Feb 25 2026 10:00:00 GMT-0500 (Eastern Standard Time) by MD HD Team
This is the markdown syntax reference you’ll actually bookmark. Every element is shown with the raw syntax and what it produces, organized by category. Whether you’re a beginner learning the basics or an experienced writer who occasionally forgets table syntax, this page has you covered.
MD HD renders all of these elements beautifully on your phone — connect your cloud storage and see for yourself.
Headings
Headings use # symbols. The number of # characters determines the heading level:
# Heading 1 (largest)
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6 (smallest)
Alternative syntax for H1 and H2:
Heading 1
=========
Heading 2
---------
Tip: Always put a space between the # and the heading text. #Heading won’t render correctly in all parsers.
Text Emphasis
*italic* or _italic_
**bold** or __bold__
***bold italic*** or ___bold italic___
~~strikethrough~~
Results:
- italic
- bold
- bold italic
strikethrough
Tip: Prefer * over _ for emphasis. Underscores can cause issues mid-word (e.g., some_variable_name might render unexpectedly in some parsers).
Paragraphs and Line Breaks
Separate paragraphs with a blank line:
This is the first paragraph.
This is the second paragraph.
For a line break without a new paragraph, end a line with two spaces or use <br>:
First line
Second line (note the two trailing spaces above)
Links
[Link text](https://example.com)
[Link with title](https://example.com "Hover text")
<https://example.com>
<[email protected]>
Reference-Style Links
For cleaner text when you have many URLs:
Read the [markdown guide][1] and the [syntax spec][2].
[1]: https://example.com/guide "Markdown Guide"
[2]: https://example.com/spec "Syntax Specification"
Images


Image with Link
Wrap the image syntax in link syntax:
[](https://example.com)
Lists
Unordered Lists
Use -, *, or + (pick one and be consistent):
- Item one
- Item two
- Nested item
- Another nested item
- Deeply nested
- Item three
Ordered Lists
1. First step
2. Second step
3. Third step
The actual numbers don’t matter to most renderers — this also works:
1. First
1. Second
1. Third
Task Lists
- [x] Completed task
- [x] Another completed task
- [ ] Incomplete task
- [ ] Another todo
Blockquotes
> This is a blockquote.
>
> It can have multiple paragraphs.
> Blockquotes can be nested:
>> Like this.
>>> And this.
Tip: You can use other markdown inside blockquotes — headings, lists, code, emphasis all work.
Code
Inline Code
Use the `console.log()` function for debugging.
Code Blocks
Wrap with triple backticks and optionally specify the language for syntax highlighting:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
```python
def greet(name):
return f"Hello, {name}!"
```
```bash
npm install markdown-parser
cd my-project && npm start
```
Indented code blocks (four spaces or one tab) also work but are less common:
function oldSchool() {
return "indented code block";
}
Tables
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Row 1 | Data | Data |
| Row 2 | Data | Data |
| Row 3 | Data | Data |
Alignment
Use colons in the separator row:
| Left | Center | Right |
|:---------|:--------:|---------:|
| Aligned | Aligned | Aligned |
| left | center | right |
Tip: Tables don’t need to be perfectly aligned in the source — the pipes just need to be in the right places. But aligned source is much easier to read and edit.
Horizontal Rules
Any of these create a horizontal line:
---
***
___
Use them to visually separate sections of a long document.
Footnotes
Here's a statement that needs a citation[^1].
And another claim[^note].
[^1]: This is the first footnote.
[^note]: Footnotes can have any identifier, not just numbers.
Footnotes are rendered at the bottom of the document with back-links.
Definition Lists
Markdown
: A lightweight markup language for formatting plain text.
CommonMark
: A standardized specification for Markdown syntax.
Note: Not all renderers support definition lists. CommonMark doesn’t include them, but many extended parsers do.
Escaping Characters
To display a literal character that would otherwise be interpreted as markdown formatting, prefix it with a backslash:
\* This is not italic \*
\# This is not a heading
\[This is not a link\](https://example.com)
Characters you can escape: \ ` * _ {} [] () # + - . ! |
HTML in Markdown
Most markdown parsers allow inline HTML:
This has a <sub>subscript</sub> and a <sup>superscript</sup>.
<details>
<summary>Click to expand</summary>
Hidden content goes here.
</details>
Use this sparingly — one of markdown’s strengths is that it doesn’t require HTML knowledge.
Putting It All Together
Here’s a realistic example combining multiple elements:
# Project Status Update
**Date:** February 25, 2026
**Author:** Development Team
## Summary
We shipped three features this sprint. See the [full changelog](https://example.com/changelog) for details.
## Completed
- [x] User authentication
- [x] Cloud storage integration
- [x] Markdown rendering engine
## Metrics
| Metric | Last Week | This Week | Change |
|:--------------|----------:|----------:|-------:|
| Active users | 1,200 | 1,450 | +21% |
| Documents | 8,300 | 10,100 | +22% |
| Avg load time | 340ms | 280ms | -18% |
> **Note:** Load time improvement is from the new caching layer.
## Next Steps
1. Implement offline sync
2. Add OneDrive integration
3. Launch beta program
This cheat sheet covers everything in the CommonMark specification plus the most widely-supported extensions. Bookmark it, and you’ll have every markdown syntax element at your fingertips.
All of these elements render beautifully in MD HD — our markdown reader for iOS and Android that connects to your cloud storage and gives your .md files the visual treatment they deserve.
Written by MD HD Team
← Back to blog