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.
| Type | Color on GitHub | Use it for |
|---|---|---|
| [!NOTE] | Blue | Background or side information worth knowing |
| [!TIP] | Green | Optional shortcuts and better ways to do something |
| [!IMPORTANT] | Purple | Information the reader needs to succeed |
| [!WARNING] | Yellow | Problems the reader should act on right away |
| [!CAUTION] | Red | Actions 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.
| Platform | Callout syntax | What you get |
|---|---|---|
| GitHub | > [!NOTE] and the four other types | Colored alert box with icon |
| GitLab (17.10+) | > [!note], custom title allowed | Alert box |
| Obsidian | > [!note] plus 12 more types and aliases | Callout, optionally foldable |
| VS Code preview | Not built in (extensions add it) | Plain blockquote showing [!NOTE] |
| Notion | No Markdown syntax; use the /callout block | Callout block in the editor |
| Reddit, Discord | Not supported | Plain 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 →