Markdown Blockquote: Syntax, Nesting & Examples
How to create quotes and callouts in Markdown — with copy-paste examples
Basic Blockquote Syntax
Start a line with a greater-than sign > followed by a space to turn it into a blockquote. Renderers display it indented with a vertical bar on the left, which makes it ideal for quotations, citations, and highlighted notes.
The best way to predict the future is to invent it.
> The best way to predict the future is to invent it.
Design is not just what it looks like and feels like. Design is how it works.
— Steve Jobs
> Design is not just what it looks like and feels like. Design is how it works.
— Steve Jobs
The space after > is optional in CommonMark, but always include it — it is more readable and works in every renderer. Markdown has no dedicated attribution syntax, so put the author in a separate line after the quote or inside the blockquote itself.
Multi-Line Blockquotes
You can wrap a blockquote across several lines. If you put > at the start of every line, the lines are joined into a single paragraph, just like normal Markdown text.
This is the first line of the quote. This is the second line. Both belong to the same paragraph.
> This is the first line of the quote.
> This is the second line.
> Both belong to the same paragraph.
To force a line break inside the quote, end a line with two spaces or a backslash, or use a blank > line to start a new paragraph (see the multi-paragraph section below).
First paragraph of the quote.
Second paragraph, separated by a blank
>line.
> First paragraph of the quote.
>
> Second paragraph, separated by a blank > line.
Many parsers also allow “lazy continuation”: only the first line has >, and the following lines are still treated as part of the quote. This works in CommonMark but is fragile, so prefer > on every line.
Nested Blockquotes
Add another > to nest a blockquote inside another one. This is useful for replies, email-style quoting, or showing a quote within a quote. You can write > > or >> — both work.
Level one: the original message.
Level two: a reply to the message.
> Level one: the original message.
>
> > Level two: a reply to the message.
Keep going for deeper levels. Three levels is usually the practical limit before the text becomes hard to read.
Level one
Level two
Level three
> Level one
>
> > Level two
> >
> > > Level three
The compact form without spaces is equivalent:
Outer quote
Inner quote
> Outer quote
>
>> Inner quote
Blockquotes with Other Elements
A blockquote can contain any other Markdown: emphasis, links, inline code, lists, headings, and even code blocks. Just prefix every line with >.
Bold, italic, links, and code
Tip: Use italic for emphasis, a link, or
inline code.
> **Tip:** Use *italic* for emphasis, [a link](https://getmd.ma), or `inline code`.
Lists inside a blockquote
Shopping list:
- Apples
- Bread
- Coffee
> Shopping list:
>
> - Apples
> - Bread
> - Coffee
Headings inside a blockquote
Release notesVersion 2.0 adds dark mode and faster startup.
> ### Release notes
>
> Version 2.0 adds dark mode and faster startup.
Code blocks inside a blockquote
Run this command:
npm install marked
> Run this command:
>
> ```bash
> npm install marked
> ```
Multi-Paragraph Blockquotes
To keep several paragraphs in one blockquote, separate them with a line that contains only >. If you leave a truly empty line between them, the quote ends and the second paragraph becomes a separate, unquoted paragraph (or a new blockquote if it starts with >).
Paragraph one of a longer quotation.
Paragraph two continues the same quote.
Paragraph three finishes it.
> Paragraph one of a longer quotation.
>
> Paragraph two continues the same quote.
>
> Paragraph three finishes it.
Compare with a fully empty line, which splits the quote in two:
First quote.
Second, separate quote.
> First quote.
> Second, separate quote.
Callouts and Alerts (GitHub Syntax)
GitHub extends blockquotes with five “alert” types. Start a blockquote with [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], or [!CAUTION] on its own line, then write the content on the following > lines.
Note: alerts are not part of standard Markdown or CommonMark. They are a GitHub extension (similar to Obsidian callouts and admonitions in docs tools). Renderers that do not support them show a plain blockquote with the literal text [!NOTE].
ℹ️ Note
Useful information that users should know, even when skimming.
> [!NOTE]
> Useful information that users should know, even when skimming.
💡 Tip
Helpful advice for doing things better or more easily.
> [!TIP]
> Helpful advice for doing things better or more easily.
❗ Important
Key information users need to know to achieve their goal.
> [!IMPORTANT]
> Key information users need to know to achieve their goal.
⚠️ Warning
Urgent info that needs immediate user attention to avoid problems.
> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.
🛑 Caution
Advises about risks or negative outcomes of certain actions.
> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
The alert type must be uppercase on GitHub and sit alone on the first line of the blockquote. Obsidian uses the same > [!note] pattern, plus many more types and optional titles.
Common Mistakes
Forgetting > on continuation lines
Most parsers apply lazy continuation, but not all do, and a blank line always ends the quote. If the second line renders outside the quote, you are missing a >.
Quoted line.
This line escaped the quote because of the blank line.
> Quoted line.
This line escaped the quote because of the blank line.
No space after >
>text works in CommonMark, but some older or stricter parsers need > text. Always add the space. Also avoid indenting > by four or more spaces, because that turns the line into a code block.
>Works in most parsers
> Works everywhere
> Indented 4 spaces: becomes a code block
Nesting without a separating > line
Writing a nested quote directly under text without a blank > line can cause it to merge into the paragraph above on some renderers. Add a line with only > between levels.
> Outer text
> > Inner text <-- may merge in some parsers
> Outer text
>
> > Inner text <-- safe and portable
Blank lines inside a list in a quote
An unquoted blank line between lines ends the blockquote, so a list or paragraph that follows starts outside the quote. Use > alone on blank lines to stay inside.
Platform Support
Basic blockquotes with > are part of the original Markdown specification and work almost everywhere. Chat apps like Slack and Discord support a simplified version: > quotes a single line, and Discord also offers >>> to quote everything that follows. Alerts are the least portable feature.
| Feature | GitHub | GitLab | VS Code | Obsidian | MDViewer | Slack | Discord |
|---|---|---|---|---|---|---|---|
Basic blockquote (>) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Multi-paragraph | Yes | Yes | Yes | Yes | Yes | Limited | Limited |
| Nested blockquotes | Yes | Yes | Yes | Yes | Yes | No | No |
| Elements inside quote | Yes | Yes | Yes | Yes | Yes | No | No |
Alerts ([!NOTE]) | Yes | No | Ext. | Yes | Yes | No | No |
Ext. = available through an extension. Limited = single-line or simplified quoting only.
FAQ
How do I create a blockquote in Markdown?
Start the line with a greater-than sign and a space: > Your quote. For multiple lines or paragraphs, put > at the start of every line, using a line containing only > to separate paragraphs. The result is rendered as an indented block with a vertical bar on the left.
Can I nest blockquotes in Markdown?
Yes. Add an extra > for each level: > > Nested quote (or >>) creates a second level, and > > > a third. Put a line with only > between levels for the most portable result. Nesting works on GitHub, GitLab, Obsidian, VS Code, and MDViewer, but not in Slack or Discord.
How do I add a callout or admonition in GitHub Markdown?
Start a blockquote with an alert tag on its own line, then add the content on the next quoted line: > [!NOTE] followed by > Your text. GitHub supports NOTE, TIP, IMPORTANT, WARNING, and CAUTION. This is a GitHub extension, not standard Markdown, so other renderers may show it as a plain blockquote.
Preview Your Markdown with MDViewer
MDViewer is a native macOS app for reading and previewing Markdown files. Double-click any .md file in Finder and see it rendered instantly — blockquotes, tables, code blocks, and more. Lite is free; Pro adds editing, Git history, and PDF export.
Requires macOS 13.0 or later. Intel and Apple Silicon.