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 textbecomes 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 quoteFollowed 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 codeinside 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
>Textinstead of> Textworks 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.
Related pages
- Markdown documentation hub
- Lists in Markdown
- Fenced code blocks
- Emphasis: bold and italic
- Inline HTML in Markdown
- Markdown flavors compared
