Documentation
Home · Docs · Markdown · Markdown blockquotes: syntax, nesting, and examples

Markdown blockquotes: syntax, nesting, and examples

How to write blockquotes in Markdown with the greater-than symbol: nest quotes, add paragraphs, and embed lists or code, with the HTML output.

A blockquote in Markdown is a quoted or set-apart block of text, created by placing a greater-than sign and a space (>) at the start of a line. To quote multiple paragraphs, put a > on every line, including the blank lines between paragraphs. Blockquotes can be nested and can contain other Markdown elements such as lists, headings, and code.

Markdown blockquotes syntax reference

Goal Syntax
Single-line quote > Quoted text
Multi-line quote > Line one then > Line two
Multi-paragraph quote > Para one, >, > Para two
Nested quote > Outer, >> Inner

Markdown blockquotes key facts

  • To quote text, start a line with > followed by your text, so > Quoted text becomes a blockquote.
  • Put a > at the start of every line you want in the quote, including the > blank lines that separate paragraphs inside one blockquote.
  • Nest a quote by adding another >, so >> is one level deep and >>> is two levels deep.
  • The > must sit at the start of the line. Indenting it four or more spaces turns the line into a code block in most parsers.
  • Blockquotes can hold other elements, including lists, headings, code blocks, and inline formatting.
  • A Markdown blockquote compiles to an HTML <blockquote> element, with nested quotes producing nested <blockquote> elements.

Use blockquotes for quoted material, not visual indentation

A blockquote communicates that text is quoted or set apart from the surrounding document. Do not use > only to push a paragraph to the right. That changes the document's meaning and can produce confusing HTML for assistive technology.

For a multi-paragraph quotation, keep the > marker on blank lines and on each continued paragraph. For callouts in tools such as GitHub or Obsidian, check the platform-specific syntax because callouts are extensions, not part of CommonMark. Use lists for grouped points and fenced code blocks for source code rather than placing either inside a quote for appearance alone.

Basic syntax

To create a blockquote, start a line with > followed by your text.

Markdown

> The best way to predict the future is to invent it.

Rendered output

The best way to predict the future is to invent it.

HTML output

<blockquote>
  <p>The best way to predict the future is to invent it.</p>
</blockquote>

The space after > is recommended for readability and is expected by strict parsers. Most parsers also accept > with no space, but you should keep the space for consistency.

The > must sit at the start of the line with no leading spaces. Indenting it four or more spaces makes most parsers treat the line as an indented code block instead of a blockquote.

Blockquotes with multiple lines

You can put > in front of every line of a paragraph. Many parsers also support "lazy" continuation, where only the first line needs the >.

Markdown (strict, marker on every line)

> This quote spans
> more than one line
> in the source.

Rendered output

This quote spans more than one line in the source.

Both strict and lazy styles usually produce the same single paragraph. Use the marker on every line so your intent stays clear and your source survives reformatting.

Multi-paragraph blockquotes

To include more than one paragraph in a single blockquote, add a > on the blank line that separates the paragraphs. If you leave the separating line completely empty, most parsers end the blockquote and start a new one.

Markdown

> This is the first paragraph inside the blockquote.
>
> This is the second paragraph, still inside the same blockquote.

Rendered output

This is the first paragraph inside the blockquote.

This is the second paragraph, still inside the same blockquote.

HTML output

<blockquote>
  <p>This is the first paragraph inside the blockquote.</p>
  <p>This is the second paragraph, still inside the same blockquote.</p>
</blockquote>

To end a blockquote, leave a blank line with no > after the last quoted line. The next line then renders as normal text. Without that blank line, lazy continuation can pull the following paragraph into the quote.

Nested blockquotes

Add another > to nest a blockquote inside a blockquote. Each additional > goes one level deeper.

Markdown

> Outer quote.
>
>> Nested quote, one level deep.
>>
>>> Nested quote, two levels deep.

Rendered output

Outer quote.

Nested quote, one level deep.

Nested quote, two levels deep.

HTML output

<blockquote>
  <p>Outer quote.</p>
  <blockquote>
    <p>Nested quote, one level deep.</p>
    <blockquote>
      <p>Nested quote, two levels deep.</p>
    </blockquote>
  </blockquote>
</blockquote>

Blockquotes with other elements

Blockquotes can contain most other Markdown elements. Keep the > marker in front of every line of the nested content.

Blockquote with a heading

Markdown

> ## A heading inside a quote
> Followed by a line of quoted text.

Rendered output

A heading inside a quote

Followed by a line of quoted text.

Blockquote with a list

Markdown

> Shopping list from the note:
>
> - Apples
> - Bread
> - Coffee

Rendered output

Shopping list from the note:

  • Apples
  • Bread
  • Coffee

Blockquote with a code block

Markdown

> Run this to install:
>
> ```bash
> npm install markdific
> ```

Rendered output

Run this to install:

bash npm install markdific

Blockquote with inline formatting

Markdown

> You can use **bold**, *italic*, and `inline code` inside a blockquote.

Rendered output

You can use bold, italic, and inline code inside a blockquote.

Attribution patterns

Markdown has no built-in syntax for quote attribution, so people use conventions. The most common is to add the source on its own quoted line.

Markdown

> The unexamined life is not worth living.
>
> Socrates

Rendered output

The unexamined life is not worth living.

Socrates

For semantic attribution in HTML, some authors drop to raw HTML with <figure>, <blockquote>, and <figcaption>. That is an HTML technique rather than Markdown, and support depends on whether your renderer allows inline HTML.

Flavor differences

Blockquotes are one of the most consistent Markdown features. The core > syntax is supported across CommonMark, GFM, Pandoc, Markdown Extra, and MultiMarkdown. Differences are minor and relate to lazy continuation and how embedded elements are parsed.

Flavor Blockquote support Notes
CommonMark Yes Precisely specified. Defines lazy continuation and nesting rules.
GitHub Flavored Markdown (GFM) Yes Follows CommonMark. Also adds styled alert blockquotes (see below).
MultiMarkdown Yes Standard > syntax, nesting supported.
Markdown Extra Yes Standard > syntax. Embedded block elements supported.
Pandoc Yes Standard > syntax. Requires a blank line before the blockquote in strict mode.

GitHub alert blockquotes

GitHub extends blockquotes with alert callouts using a keyword on the first line. This is a GitHub feature and does not render the same way outside GitHub.

Markdown

> [!NOTE]
> Useful information that users should know.

> [!WARNING]
> Critical content that needs attention.

On GitHub, these render as colored callout boxes. In a plain CommonMark renderer, they render as ordinary blockquotes with the literal [!NOTE] text at the top.

Other platforms (Slack, Discord, Reddit, Obsidian)

Blockquotes also appear in chat and note-taking tools, with quirks worth knowing if you paste content between them:

  • Slack: supports > for a single line but does not support lazy continuation or nesting. Each quoted line needs its own >.
  • Discord: > quotes a single line. >>> quotes everything to the end of the message. Nested blockquotes are not supported.
  • Reddit: requires a blank line before the blockquote, and the > must start at the very beginning of the line with no leading spaces, or it will not render.
  • Obsidian: full support including nesting and a rich callout system built on the > [!type] syntax, with foldable callouts and custom types.

For the full comparison of how flavors differ across all elements, see Markdown flavors.

How Markdific renders it

Markdific renders standard blockquotes as styled quote blocks, and nested blockquotes are indented at each level. Blockquotes can contain other elements, and a fenced code block placed inside a blockquote keeps its syntax highlighting.

Try it in the Markdific online editor.

Common mistakes and gotchas

  • No space after the marker. Writing >Text instead of > Text works in many parsers but is inconsistent. Always include the space.
  • Leading spaces before the marker. Indenting > by four or more spaces turns the line into a code block in most parsers. Keep the > at the start of the line.
  • Empty separating line breaks the quote. To keep two paragraphs in one blockquote, the separating line must be >, not blank. A fully blank line ends the blockquote.
  • Missing blank line before the blockquote. Some parsers, including Pandoc in strict mode, need a blank line between preceding text and the blockquote or the quote will not start.
  • Forgetting the marker on wrapped lines. If you rely on lazy continuation and later reformat your file, wrapped lines can fall out of the quote. Put > on every line to avoid surprises.
  • Over-nesting. Deeply nested blockquotes (three or more levels) are hard to read and rarely necessary. Prefer restructuring.
  • Confusing > with a task list or callout. > is only a blockquote. Alert callouts need the GitHub [!NOTE] syntax and only render on supporting platforms.

Best practices

  • Keep a space after every >.
  • Put > on every line, including blank lines inside multi-paragraph quotes.
  • Add a blank line before and after the blockquote to separate it cleanly from surrounding text.
  • Use nesting sparingly. One or two levels is usually enough.
  • When quoting a source, add attribution on its own quoted line for clarity.
  • If you need colored callouts, remember they only render on platforms that support them, so do not rely on them for portable documents.

HTML equivalent

Markdown blockquotes compile to the HTML <blockquote> element, with each paragraph wrapped in <p> and nested quotes producing nested <blockquote> elements.

Markdown

> First paragraph.
>
> Second paragraph.
>
>> Nested quote.

HTML output

<blockquote>
  <p>First paragraph.</p>
  <p>Second paragraph.</p>
  <blockquote>
    <p>Nested quote.</p>
  </blockquote>
</blockquote>

FAQ

How do you write a blockquote in Markdown? Start a line with a greater-than sign and a space (>) followed by your text. To quote multiple lines or paragraphs, put > at the start of every line.

How do you quote text in Markdown? Put a greater-than sign and a space before the text you want to quote, such as > This is a quote. The > marker turns the line into a blockquote, and you repeat it on each line you want quoted.

What is a blockquote in Markdown? A blockquote is a quoted or set-apart block of text marked with a leading >. It is Markdown's way of showing quoted material, and it compiles to an HTML <blockquote> element.

Can you nest blockquotes in Markdown? Yes. Add an extra > for each level of nesting. >> is one level deep, >>> is two levels deep, and so on.

How do you put multiple paragraphs in one blockquote? Add a > on the blank line between the paragraphs. If the separating line is fully empty, most parsers end the blockquote and start a new one.

Do blockquotes work on GitHub? Yes. GitHub follows CommonMark for blockquotes and also supports alert blockquotes using [!NOTE], [!WARNING], and similar keywords, which render as colored callout boxes on GitHub.

Can a blockquote contain a list or code block? Yes. Blockquotes can contain lists, code blocks, headings, and inline formatting. Keep the > marker in front of every line of the embedded content.

Is there a Markdown syntax for quote attribution? No. Markdown has no built-in attribution syntax. A common convention is to add the source on its own quoted line below the quote. For semantic markup, some authors use raw HTML with <figcaption>.

What HTML does a Markdown blockquote produce? It produces a <blockquote> element, with each paragraph wrapped in a <p> tag and nested quotes producing nested <blockquote> elements.

How do you end a blockquote in Markdown? Leave a blank line with no > after the last quoted line. The next line then renders as normal text. Without that blank line, some parsers pull the following paragraph into the quote through lazy continuation.

Do blockquotes work in Slack, Discord, and Reddit? Yes, with differences. Slack supports single-line quotes but not lazy continuation or nesting. Discord uses > for one line and >>> to quote to the end of a message, with no nesting. Reddit requires a blank line before the quote and the > at the very start of the line.

Sources and compatibility references

Use these primary references for syntax rules. Renderer behaviour can still vary by version and configuration, so preview important documents in their final destination.