Markdown Quotes and Blockquotes
Everything the > character does: single quotes, hard line breaks inside a quote, multiple paragraphs, nesting, attribution lines, GitHub alerts, and the places where it behaves differently.
Short answer
Start the line with > and your text. Every consecutive > line joins the same quote, and a blank line ends it. Those lines wrap into one paragraph, so to break them apart either end a line with two spaces or put a bare > line between them. Extra > characters nest one level deeper — except on Discord, where >>> quotes the rest of the message.
Basic Quote Syntax
A blockquote starts with a > character followed by a space. Renderers show it indented with a vertical bar down the side. Use it for citations, quoted replies, and callouts.
Markdown
> This is a blockquote.Preview
This is a blockquote.
Markdown
> Every consecutive > line joins the same quote.
> This all renders as one continuous blockquote.Preview
Every consecutive > line joins the same quote. This all renders as one continuous blockquote.
Markdown
> First paragraph of the quote.
>
> Second paragraph — the blank line still needs its >.Preview
First paragraph of the quote.
Second paragraph — the blank line still needs its >.
Line Breaks Inside a Quote
This is the part that surprises people. Putting > on two lines does not give you two lines — a blockquote holds ordinary Markdown paragraphs, so the lines wrap together. You break them the same way you break any paragraph.
Markdown
> First line of the quote.
> Second line of the quote.Preview
First line of the quote. Second line of the quote.
Markdown
> First line of the quote.
> Second line of the quote.Preview
First line of the quote.
Second line of the quote.
Markdown
> First line of the quote.\
> Second line of the quote.Preview
First line of the quote.
Second line of the quote.
> line gives you a full paragraph break instead, with vertical space between the two blocks.Nested Blockquotes
Each additional > nests one level deeper, which is how quoted replies are shown in email-style threads. There is no practical depth limit, though the indentation gets unreadable after three or four levels.
Markdown
> Outer quote.
>> Inner nested quote.Preview
Outer quote.
Inner nested quote.
Markdown
> Outer quote here.
>> Second level nested.
>>> Third level — use >>> for deep nesting.Preview
Outer quote here.
Second level nested.
Third level — use >>> for deep nesting.
Markdown
> Original message here.
>
>> Reply to the message above.Preview
Original message here.
Reply to the message above.
Attribution and Sources
Markdown has no citation syntax — no author field, no source URL. The convention is an attribution line inside the quote, introduced with an em dash. Because it is just another line of the same paragraph, it needs a hard break or a paragraph break in front of it, or it runs on from the quote text.
Markdown
> The best way to predict the future is to invent it.
> — Alan KayPreview
The best way to predict the future is to invent it.
— Alan Kay
Markdown
> Simplicity is a great virtue.
>
> *— Edsger W. Dijkstra, 1984*Preview
Simplicity is a great virtue.
— Edsger W. Dijkstra, 1984
Markdown
<blockquote cite="https://example.com/source">
<p>Markdown has no syntax for a citation URL.</p>
<footer>— <cite>Example Source</cite></footer>
</blockquote>Preview
Markdown has no syntax for a citation URL.
Quotes with Other Formatting
A blockquote is a container, not a text style, so it holds everything Markdown can express: inline formatting, lists, headings, tables, and fenced code. Prefix every line of the block with >.
Markdown
> **Bold text** inside a blockquote.
> *Italic* and [links](https://example.com) work too.Preview
Bold text inside a blockquote. Italic and links work too.
Markdown
> Use `inline code` inside a quote.Preview
Use
inline codeinside a quote.
Markdown
> Here is a list inside a blockquote:
>
> - Item one
> - Item two
> - Item threePreview
Here is a list inside a blockquote:
- Item one
- Item two
- Item three
Markdown
> ### Heading inside a quote
>
> You can use headings and other block elements.Preview
Heading inside a quote
You can use headings and other block elements.
Markdown
> ```javascript
> const msg = "Code block inside a quote";
> console.log(msg);
> ```Preview
const msg = "Code block inside a quote"; console.log(msg);
GitHub Alert Callouts
GitHub turns a blockquote into a colored alert box when the first line is [!TYPE]. There are five types, and the keyword must be uppercase and on a line of its own. Everywhere else this renders as a normal quote with the literal [!NOTE] text at the top — which is exactly what the previews below show.
Markdown
> [!NOTE]
> Useful information users should know, even when skimming.Preview
[!NOTE] Useful information users should know, even when skimming.
Markdown
> [!TIP]
> Helpful advice for doing things better.Preview
[!TIP] Helpful advice for doing things better.
Markdown
> [!IMPORTANT]
> Key information users need to know to achieve their goal.Preview
[!IMPORTANT] Key information users need to know to achieve their goal.
Markdown
> [!WARNING]
> Urgent info that needs immediate user attention.Preview
[!WARNING] Urgent info that needs immediate user attention.
Markdown
> [!CAUTION]
> Advises about risks or negative outcomes of an action.Preview
[!CAUTION] Advises about risks or negative outcomes of an action.
> [!note] (lowercase works), support custom titles on the same line, and fold when you add a -. The two syntaxes overlap but the type lists do not match.Common Mistakes
Nearly every blockquote problem is a blank-line problem: one missing >, or one blank line too few.
Not what you meant
> Line one of the quote.
> Line two of the quote.Fixed
> Line one of the quote.\
> Line two of the quote.Not what you meant
> First paragraph.
> Second paragraph.Fixed
> First paragraph.
>
> Second paragraph.Not what you meant
> A quoted sentence.
This line was meant to be normal text.Fixed
> A quoted sentence.
This line is normal text.Not what you meant
>>> Third-level nested quote.Fixed
> Level one
>> Level two
>>> Level threeQuick Reference
| Syntax | Result |
|---|---|
| > Quote text | Basic blockquote |
| > Line one.·· > Line two. | Hard line break inside the quote (·· = two spaces) |
| > Para 1 > > Para 2 | Two paragraphs in one quote |
| >> Nested | Nested quote, one level deeper |
| >>> Deep | Third-level nested quote (whole-message quote on Discord) |
| > **bold** text | Bold inside a quote |
| > `code` here | Inline code inside a quote |
| > - Item | List inside a quote |
| > [!NOTE] | GitHub alert callout |
| > — Author Name | Attribution line convention |
Platform Support
The > character quotes text almost everywhere. What varies is nesting, and what the extra > characters mean.
| Platform | Supported? | Notes |
|---|---|---|
| CommonMark / GFM | Yes | Full support: >, nesting, multi-paragraph, and any block element inside the quote. |
| GitHub | Yes | Standard blockquotes plus [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], and [!CAUTION] alerts. Raw <blockquote> renders, but the cite attribute is stripped by the sanitizer. |
| GitLab | Yes | Standard blockquotes and nesting. Uses its own ::: block syntax for alert-style callouts. |
| Obsidian | Yes | Blockquotes plus > [!note] callouts, which are foldable with > [!note]- and support custom titles. |
| Discord | Partial | > quotes one line. >>> quotes everything to the end of the message. There is no nesting — extra > characters do not stack. |
| Slack | Partial | > renders as a quote bar. No nesting; repeat > on every line you want quoted. |
| Yes | > works in the Markdown editor, and >> nests. The fancy-pants editor has a quote button instead. | |
| Notion | Partial | Quote blocks exist, but > + space creates a toggle list. Type " + space for a quote, or paste Markdown, which converts > correctly. |
| VS Code preview | Yes | Full CommonMark blockquote support, including nesting and embedded code blocks. |
| Jupyter / R Markdown | Yes | Standard blockquote rendering in notebook output and knitted HTML. |
Frequently Asked Questions
How do I quote text in Markdown?
Put a > character at the start of the line, followed by a space and your text. For example: > This is a quote. Consecutive > lines join into one blockquote, and a blank line ends it.
Why do my two quoted lines render as one line?
Because consecutive > lines form a single paragraph, exactly like normal Markdown text. To force a break, end the first line with two spaces or a backslash, or separate the lines with a bare > line to make two paragraphs.
Can I have multiple paragraphs inside a blockquote?
Yes. Put a > on the empty line between them: > First paragraph. > > Second paragraph. If the empty line has no >, the quote ends and you get two separate blockquotes.
How do I nest blockquotes?
Add more > characters. One > is level 1, >> is level 2, >>> is level 3. This is the standard way to show quoted replies in email-style threads. Note that Discord does not nest at all, and treats >>> as a multi-line quote instead.
How do I end a blockquote?
Leave a completely blank line after it. Without one, the next paragraph gets pulled into the quote by lazy continuation — a plain line directly under a quote is treated as part of it even with no > in front.
How do I add the author or source to a Markdown quote?
There is no citation syntax, so add an attribution line yourself: > — Alan Kay, with two trailing spaces on the line above so it breaks onto its own line. If you need a machine-readable source, drop to raw HTML with <blockquote cite="...">, though GitHub strips the cite attribute.
Can I use bold, italic, code, lists, or headings inside a blockquote?
Yes — all inline formatting and most block elements work inside a quote. Start every line of the block with > , including the lines of a nested list or fenced code block.
What is the difference between a blockquote and a code block?
A blockquote (>) is for quoted or highlighted prose and still renders its contents as Markdown. A code block (``` or four spaces) renders its contents literally in a monospace font with no formatting applied.
Does GitHub Markdown support callout boxes?
Yes. Put [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], or [!CAUTION] on the first line of a blockquote and GitHub renders a colored alert box with an icon. These are GitHub-specific — everywhere else they render as an ordinary quote with the literal text at the top.
Do I need a space after the > character?
No — >Quote parses the same as > Quote in CommonMark. The space is a strong convention because it is far more readable and some older or stricter parsers do require it.