Markdown Callouts (Alerts & Admonitions)

Updated

Create a callout in Markdown by starting a blockquote with an alert type in brackets: "> [!NOTE]" on the first line, then "> your text" on the lines below. GitHub supports five types: NOTE, TIP, IMPORTANT, WARNING and CAUTION. GitLab and Obsidian use the same pattern; everywhere else, fall back to a blockquote with a bold label.

GitHub alert syntax

Put the type keyword alone on the first line of the blockquote, in uppercase inside [! and ]. Every following line of the callout needs its own > prefix, including blank lines between paragraphs. GitHub renders each type as a colored box with its own icon and a title matching the type name.

> [!NOTE]
> Useful information users should know, even when skimming.

> [!TIP]
> Helpful advice for doing things better or more easily.

> [!IMPORTANT]
> Key information users need to achieve their goal.

> [!WARNING]
> Urgent info that needs immediate attention to avoid problems.

> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.

GitHub’s own docs recommend no more than one or two alerts per article, and alerts cannot be nested inside other elements such as lists or other blockquotes.

Which alert type to use

The five types form a rough scale of urgency. Pick the lowest level that fits. A README where everything is a WARNING trains readers to skip all of them.

TypeColor on GitHubUse it for
[!NOTE]BlueBackground or side information worth knowing
[!TIP]GreenOptional shortcuts and better ways to do something
[!IMPORTANT]PurpleInformation the reader needs to succeed
[!WARNING]YellowProblems the reader should act on right away
[!CAUTION]RedActions with risky or irreversible consequences

Obsidian callouts

Obsidian uses the same opener but is case-insensitive and supports many more types: note, abstract, info, todo, tip, success, question, warning, failure, danger, bug, example and quote, plus aliases such as hint, caution, faq and error. Text after the brackets replaces the default title, and a + or - straight after the brackets makes the callout foldable (expanded or collapsed by default). Callouts can also be nested.

> [!tip] Faster exports
> Save your theme once and reuse it.

> [!faq]- Why is this collapsed?
> The minus sign hides the body until it is clicked.

> [!question] Can callouts be nested?
> > [!todo] Yes
> > Add another level of > markers.

GitLab alerts and custom titles

GitLab added the same five alert types in GitLab 17.10. Unlike GitHub, GitLab lets you override the title by writing text on the same line as the type. On GitHub, keep the marker alone on its line, because extra text there stops the blockquote from becoming an alert.

> [!warning] Data deletion
> The following steps make your data unrecoverable.

Portable fallback: a blockquote with a bold label

Renderers without alert support (VS Code’s built-in preview, Reddit, Discord and most PDF and Word converters) show "[!NOTE]" as literal text inside an ordinary quote. When a document has to look right everywhere, write the label yourself. It reads naturally on every platform and still stands out visually.

> **Note:** The converter runs entirely in your browser.

> **Warning:** Back up the file before running the script.

Where callouts work

The [!TYPE] syntax is an extension built on top of blockquotes, so unsupported renderers degrade gracefully to a normal quote rather than breaking the page.

PlatformCallout syntaxWhat you get
GitHub> [!NOTE] and the four other typesColored alert box with icon
GitLab (17.10+)> [!note], custom title allowedAlert box
Obsidian> [!note] plus 12 more types and aliasesCallout, optionally foldable
VS Code previewNot built in (extensions add it)Plain blockquote showing [!NOTE]
NotionNo Markdown syntax; use the /callout blockCallout block in the editor
Reddit, DiscordNot supportedPlain quote

Common pitfalls

Most broken callouts come from five mistakes: a continuation line without its > prefix (the callout ends early), a blank line without > (the quote splits in two), a missing exclamation mark ([NOTE] instead of [!NOTE]), a misspelled type such as [!WARN] or [!INFO] on GitHub, and placing the alert inside a list item, where GitHub ignores it.

Frequently Asked Questions

How do I make a warning box in Markdown?

On GitHub and GitLab, start a blockquote with "> [!WARNING]" on its own line and put the message on the next line, also prefixed with >. In Obsidian use "> [!warning]". Anywhere else, use "> **Warning:** your text" as a portable fallback.

What are the five GitHub alert types?

NOTE, TIP, IMPORTANT, WARNING and CAUTION. They must be written in square brackets with an exclamation mark, as the first line of a blockquote: > [!NOTE].

Can I change the title of a GitHub alert?

No. GitHub always shows the type name as the title. GitLab and Obsidian both accept custom titles written after the type on the same line, for example "> [!warning] Data deletion".

Why does my [!NOTE] show up as plain text?

The renderer does not support alerts (VS Code preview, Reddit and many converters do not), or the syntax is off: check the exclamation mark, the spelling of the type, and that [!NOTE] is alone on the first line of the quote.

How do I make a collapsible callout?

In Obsidian, add a minus sign after the type: "> [!note]- Title". GitHub alerts cannot collapse, so on GitHub use an HTML <details> and <summary> block instead. See the collapsible sections guide.

Try it live

Paste this syntax into the free markdown to html converter and see the rendered output instantly. No signup, and everything runs in your browser.

Open Markdown to HTML Converter →

More Markdown syntax: