Markdown Blockquotes Explained: The Complete Guide to Quotes
The complete guide to markdown blockquotes. Learn the syntax, nesting, GitHub alerts, Obsidian callouts, styling, platform compatibility, and every other use case you'll encounter.
Also in
A blockquote is a way to highlight text that comes from another source or needs extra emphasis, such as a quote, note, or example. In Markdown, blockquotes are easy to create with a simple symbol, making them useful for writers, bloggers, students, and anyone publishing content online. This guide will show you what blockquotes are and how to use them correctly in Markdown.
Quick Answer: How Do You Create a Blockquote in Markdown?
To create a blockquote in markdown, add a greater-than sign (>) followed by a space at the start of any line. The entire line becomes a quoted block.
> This is a blockquote.
Renders as:
This is a blockquote.
That's the entire baseline syntax. The rest of this guide covers multi-line quotes, nesting, GitHub alerts, Obsidian callouts, styling, platform compatibility, and every other use case you'll encounter. For a broader reference, see our complete markdown cheatsheet.
Basic Blockquote Syntax in Markdown
Every markdown blockquote starts with > at the beginning of a line.
> This is a single-line blockquote.
Renders as:
This is a single-line blockquote.
The space after > is optional but recommended. Both of these work identically in most parsers:
> With a space
>Without a space
For maximum compatibility, especially on stricter CommonMark parsers, always include the space.
Why the > character? Markdown borrowed its blockquote syntax from email conventions. When you reply to an email, quoted text is often prefixed with >. Gruber kept the convention because it was already familiar to anyone who had used email since the 1980s.
Multi-Line Quotes in Markdown
Multiple Lines in the Same Paragraph
Add > to the start of each line:
> This is line one of the blockquote.
> This is line two.
> This is line three.
Renders as a single paragraph:
This is line one of the blockquote. This is line two. This is line three.
Lazy Continuation (Not Recommended)
Some parsers let you drop the > on continuation lines:
> This is line one.
This is line two (lazy style).
This works in CommonMark and GitHub Flavored Markdown, but some parsers break on it. Always prefix every line with > for compatibility.
Multi-Paragraph Blockquotes
For multiple paragraphs inside a single blockquote, separate them with a line containing only >:
> This is the first paragraph of the blockquote.
>
> This is the second paragraph. Notice the blank `>` line above.
>
> And this is a third paragraph.
Renders as:
This is the first paragraph of the blockquote.
This is the second paragraph. Notice the blank
>line above.And this is a third paragraph.
Critical rule: The blank line between paragraphs must still have a > character. Without it, the blockquote ends and a new one begins, which usually isn't what you want.
Nested Markdown Blockquotes
Stack > characters to nest blockquotes inside each other:
> This is the first-level quote.
>
> > This is a nested quote inside the first one.
> >
> > > And this is nested three levels deep.
>
> Back to the first level.
Renders as:
This is the first-level quote.
This is a nested quote inside the first one.
And this is nested three levels deep.
Back to the first level.
Nesting is common in email-style reply chains, where each level of > represents another round of quoting. In practice, going deeper than two or three levels becomes hard to read, so consider restructuring content before you nest four levels deep.
Formatting Inside Markdown Blockquotes
Blockquotes can contain most other markdown elements. Put each element on its own line, still prefixed with >.
Text Formatting
> You can use **bold**, *italic*, ***bold italic***,
> ~~strikethrough~~, and `inline code` inside blockquotes.
Renders as:
You can use bold, italic, bold italic,
strikethrough, andinline codeinside blockquotes.
Headings
> ### This is a heading inside a blockquote
>
> And this is regular text below it.
Renders as:
### This is a heading inside a blockquote
And this is regular text below it.
Lists
Both ordered and unordered lists work:
> **Quarterly Review:**
>
> - Revenue grew 23%
> - Headcount increased by 12
> - Customer churn dropped to 3%
>
> *All metrics are trending in the right direction.*
Renders as:
Quarterly Review:
- Revenue grew 23%
- Headcount increased by 12
- Customer churn dropped to 3%
All metrics are trending in the right direction.
Code Blocks
Fenced code blocks work inside blockquotes, but each line still needs the > prefix:
> Run the following command to install:
>
> ```bash
> npm install markdown-it
> ```
>
> Then restart your application.
Links and Images
> For more info, visit [our documentation](https://example.com).
>
> 
What Doesn't Work Reliably
- Tables inside blockquotes work in GitHub Flavored Markdown but fail in stricter parsers. Test before relying on them.
- Horizontal rules inside blockquotes (
---) are ambiguous and render inconsistently. - HTML block elements inside blockquotes behave unpredictably across parsers.
GitHub Alerts (Notes, Warnings, Tips)
GitHub Flavored Markdown (GFM) extends blockquote syntax with five special alert types that render with distinct colors and icons on GitHub, GitHub Issues, READMEs, and pull requests.
Syntax
> [!NOTE]
> Useful information that users should know, even when skimming.
> [!TIP]
> Helpful advice for doing things better or more easily.
> [!IMPORTANT]
> Key information users need to know to achieve their goal.
> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.
> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
Rules for GitHub Alerts
- The alert type (
[!NOTE],[!TIP], etc.) must be on its own line at the start of the blockquote. - Alert types are case-sensitive,
[!note]will not work. - The alert applies to the entire blockquote that follows.
- Only one alert type per blockquote. Mixing types is not supported.
When to Use Each Type
| Alert | Use for |
|---|---|
[!NOTE] |
Useful context that isn't critical but helps the reader |
[!TIP] |
Optional advice that makes something easier or better |
[!IMPORTANT] |
Information the reader must know to succeed |
[!WARNING] |
Something that could go wrong if ignored |
[!CAUTION] |
Serious risks, data loss, security issues, irreversible actions |
GitHub alerts work in repository READMEs, wiki pages, issues, pull requests, and discussions. They do not render as alerts outside of GitHub, elsewhere they fall back to regular blockquotes with the [!NOTE] text visible as plain text.
Obsidian Callouts
Obsidian uses a similar syntax to GitHub alerts but with far more options. The syntax is > [!type] followed by content:
> [!note] Custom title here
> This is a note callout with a custom title.
> [!warning]
> This is a warning callout.
> [!tip] Pro tip
> Callouts can have custom titles for extra context.
Obsidian Callout Types
Obsidian supports over a dozen callout types, each with distinct colors and icons:
note,info,abstract,summary,tldrtip,hint,importantsuccess,check,donequestion,help,faqwarning,caution,attentionfailure,fail,missingdanger,errorbugexamplequote,cite
Foldable Callouts
Add a + or - after the type to make callouts foldable:
> [!note]+ Click to expand (starts open)
> Content hidden behind a toggle.
> [!warning]- Click to expand (starts closed)
> Collapsed by default.
Nested Callouts
Callouts can be nested just like regular blockquotes:
> [!note] Outer callout
> This is the outer content.
>
> > [!tip] Inner callout
> > This is nested inside.
Obsidian callouts are the reason many markdown users prefer Obsidian for note-taking, they turn plain blockquotes into rich, styled information boxes.
When to Use Blockquotes
Blockquotes are versatile. Here are the five most common situations in which you will use them, with examples to help you understand.
1. Quoting Someone Else
The original purpose. Attribute quotes to their source with a line for attribution:
> The best way to predict the future is to invent it.
>
> Alan Kay
Renders as:
The best way to predict the future is to invent it.
Alan Kay
Academic style with proper citation:
> Markdown is a text-to-HTML conversion tool for web writers. Markdown
> allows you to write using an easy-to-read, easy-to-write plain text
> format, then convert it to structurally valid XHTML (or HTML).
>
> John Gruber, [Daring Fireball](https://daringfireball.net/projects/markdown/)
2. Pull Quotes in Long-Form Content
Lift a memorable sentence out of body text to draw visual attention:
The team shipped the feature in record time. Morale soared. Revenue followed.
> In three months, we went from zero users to forty thousand.
What made the difference wasn't the code, it was the timing.
3. Callouts and Notes
Before GitHub alerts existed, people used blockquotes with bold labels to create callouts:
> **Note:** This feature requires Node.js 18 or higher.
> **Warning:** Running this command will delete all data in the database.
> **Tip:** You can skip the setup step by using the `--auto` flag.
Still widely used in platforms that do not support GitHub alerts.
4. Replies and Email-Style Quoting
In discussions, issues, and pull requests:
> Should we use PostgreSQL or MySQL for this?
PostgreSQL, better JSON support and stronger type system.
5. Citations with Sources
For academic, journalistic, or technical writing:
> 78% of developers report using markdown daily.
>
> An interesting article on markdown, 2025
Styling Blockquotes with CSS
Pure markdown has no styling options. Blockquotes render however the platform decides. Most renderers use a left border, gray text, and some padding by default.
Custom Styling on Your Own Site
If you publish markdown to a site you control (Jekyll, Hugo, Ghost, Next.js, and similar), override the <blockquote> CSS:
blockquote {
border-left: 4px solid #3498db;
padding: 1em 1.5em;
margin: 1.5em 0;
background: #f8f9fa;
font-style: italic;
color: #555;
}
blockquote p:last-child {
margin-bottom: 0;
}
Inline HTML Fallback
When you need a specific blockquote style inside markdown and the platform allows raw HTML:
<blockquote style="border-left: 4px solid #e74c3c; padding-left: 1em; color: #666;">
This is a custom-styled quote.
</blockquote>
This works on GitHub, most static site generators, and Ghost. It does not work on Reddit, Discord, or Slack (which strip inline HTML).
Platform Compatibility
Blockquotes are one of the most universally supported markdown features. They work almost everywhere, but with platform-specific variations worth knowing.
| Platform | Blockquotes | Nested | GitHub Alerts | Callouts |
| -------------- | :---------: | :----: | :-----------: | :---------- |
| GitHub (GFM) | Yes | Yes | Yes | No |
| GitLab | Yes | Yes | Partial | No |
| Bitbucket | Yes | Yes | No | No |
| Reddit | Yes | Yes | No | No |
| Discord | Yes | No | No | No |
| Slack | Yes | No | No | No |
| Notion | Yes | Yes | No | No |
| Obsidian | Yes | Yes | As callout | Yes |
| Stack Overflow | Yes | Yes | No | No |
| Jekyll / Hugo | Yes | Yes | Via plugin | No |
Platform-Specific Notes
Discord supports single-line and multi-line quotes but does not support nesting. Use > for a single line or >>> at the start for a multi-line quote that continues until the end of the message.
Slack renders > as a quote but does not support nesting. Multi-line quotes require > on each line.
Reddit requires a blank line before any blockquote for it to render. This is the most common reason blockquotes fail on Reddit.
Notion auto-converts > input into its own Quote block. Nested quotes require dragging blocks into each other.
For more platform quirks, see our full compatibility guide in the pillar cheatsheet.
Common Errors and Fixes
1. Blockquote does not render
Cause: Missing blank line before or after the blockquote.
Broken:
Here is regular text.
> This should be a blockquote.
More text.
Fixed:
Here is regular text.
> This should be a blockquote.
More text.
Most parsers are forgiving about this, but stricter ones (including Reddit) require blank lines on either side.
2. Multi-paragraph blockquote splits into two
Cause: The blank line between paragraphs does not have a >.
Broken:
> First paragraph.
> Second paragraph (this becomes a separate blockquote).
Fixed:
> First paragraph.
>
> Second paragraph (now part of the same blockquote).
The blank separator line must still contain >.
3. GitHub alert renders as a plain blockquote
Cause: The alert tag is on the wrong line, miscased, or has extra spaces.
Broken:
> [!note]
> This is a note.
The type must be uppercase:
Fixed:
> [!NOTE]
> This is a note.
Also check that the tag is on its own line, with nothing after it on the same line.
4. Nested blockquote collapses to single level
Cause: Missing or inconsistent > characters in nested lines.
Broken:
> Outer quote.
>> Nested quote.
Missing space between > and >:
Fixed:
> Outer quote.
>
> > Nested quote.
Always put a space between each > character when nesting, and include a blank > line before nesting.
5. Code block inside blockquote breaks
Cause: Missing > on the fence lines.
Broken:
> Here's some code:
```javascript
console.log("hello");
```
> Back to the quote.
Fixed:
> Here's some code:
>
> ```javascript
> console.log("hello");
> ```
>
> Back to the quote.
Every line, including the fence lines, needs the > prefix.
6. Lazy continuation lines render as regular paragraph
Cause: The parser does not support lazy continuation.
Risky:
> First line of the quote.
Second line without >.
Always safe:
> First line of the quote.
> Second line with >.
Markdown Blockquote Best Practices
Blockquotes are one of the most versatile markdown features. They support everything from simple quotes to complex callouts and alerts.
When something does not render as expected, check the common formatting rules above. Most issues come from missing > characters or spacing problems.
Frequently Asked Questions
What is a blockquote in markdown?
A blockquote is a block of text that is visually set apart from surrounding content, usually with a left border, padding, and sometimes italic or muted text. In markdown, any line starting with > becomes part of a blockquote.
Can I nest blockquotes in markdown?
Yes. Add another > for each level of nesting, > > for two levels, > > > for three, and so on. Always put a space between each > character.
How do I end a blockquote?
Leave a blank line (without >) after the last quoted line. The next line of text will be a regular paragraph.
Can I put code blocks inside a blockquote?
Yes. Use fenced code blocks (triple backticks) and prefix every line, including the fence lines, with >.
Why is my GitHub alert not showing as colored?
GitHub alerts only render on GitHub itself (including GitHub Issues, pull requests, wikis, and READMEs). Outside GitHub, they fall back to regular blockquotes with the [!NOTE] text visible. Also check that the alert type is uppercase and on its own line.
What is the difference between a blockquote and a callout?
A blockquote is standard markdown (>). A callout is a styled variant, GitHub alerts and Obsidian callouts use the blockquote syntax with an extra tag ([!NOTE], [!warning]) to trigger special styling. Callouts are platform extensions, not core markdown.
How do I quote someone and add attribution?
Add a line after the quote with the source:
> Premature optimization is the root of all evil.
>
> Donald Knuth
Can I style blockquotes with custom colors?
Not with pure markdown, blockquotes inherit whatever styling the platform applies. On a site you control, override the <blockquote> CSS. Inside markdown content, use raw HTML with inline styles if the platform allows it.
Do blockquotes work in all markdown flavors?
Yes. Blockquotes are part of John Gruber's original specification and are supported by every markdown parser including CommonMark, GFM, MultiMarkdown, Pandoc, and platform variants like Discord, Slack, and Reddit.
Why does my blockquote break on Reddit?
Reddit requires a blank line before any blockquote. Also, Reddit's markdown is stricter than GFM, if the > does not start at the beginning of a line (with no leading spaces), it will not render.
Can I have an empty blockquote?
Technically yes, > on its own line produces an empty quoted block, but it is rarely useful. Most parsers just render a thin border with no content.
How long should a blockquote be?
There is no technical limit. Stylistically, short quotes (one or two sentences) work well as pull quotes. Longer quotes (a paragraph or more) work for extended citations. If a quote runs longer than a few paragraphs, consider paraphrasing or summarizing instead.