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 notes

Version 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.

FeatureGitHubGitLabVS CodeObsidianMDViewerSlackDiscord
Basic blockquote (>)YesYesYesYesYesYesYes
Multi-paragraphYesYesYesYesYesLimitedLimited
Nested blockquotesYesYesYesYesYesNoNo
Elements inside quoteYesYesYesYesYesNoNo
Alerts ([!NOTE])YesNoExt.YesYesNoNo

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.

Download MDViewer

Requires macOS 13.0 or later. Intel and Apple Silicon.