Skip to content
Owais Khan Software Reviews

Obsidian Callout to GitHub Alert Converter

Paste Obsidian Markdown and get GitHub-ready alerts. Every callout type and alias is mapped to one of GitHub’s five alerts, titles are moved so GitHub still renders them, and folding is handled — without touching anything inside a code block.

Everything runs locally: what you paste never leaves your browser.

Convert Obsidian callouts to GitHub alerts

4 callouts converted: 1 TIP, 1 CAUTION, 1 NOTE, 1 plain quote.

Mapping: which alert each callout type becomes

What changes, and why

In the example, > [!tip] Pro tip becomes > [!TIP] followed by a bold Pro tip line. That is not a style choice: GitHub only treats a blockquote as an alert when its marker stands alone on the first line, so leaving the title where Obsidian puts it would turn the alert back into a plain quote. The bug callout becomes CAUTION, the folded FAQ becomes an open NOTE, and the quote becomes an ordinary blockquote with its attribution in bold.

Obsidian callout syntax in GitHub Markdown

Obsidian callout syntax and GitHub’s alert syntax look almost identical, which is exactly why copying notes across goes wrong silently. As an Obsidian to GitHub Markdown converter, this handles the four differences that matter: the type list (13 plus aliases versus 5), custom titles, folding and nesting. Everything else in the document — headings, lists, links, code — is passed through untouched.

A GitHub alert admonition generator for existing notes

GitHub calls these alerts; many documentation tools call the same thing an admonition. If you are looking for a GitHub alert admonition format for a README, the five markers are [!NOTE], [!TIP], [!IMPORTANT], [!WARNING] and [!CAUTION], each on its own line at the start of a blockquote.

Where these rules come from

The callout types, aliases, folding syntax and nesting behaviour are from Obsidian’s callout documentation. The five alert types, the marker-alone rule and the no-nesting restriction are from GitHub’s documentation for writing on GitHub.

Frequently asked questions

How are callouts like bug or example converted when GitHub has no match?
GitHub has only five alerts — NOTE, TIP, IMPORTANT, WARNING and CAUTION — so every Obsidian type is mapped to the one closest in intent: bug, danger, error and failure become CAUTION; example, info, todo and question become NOTE; success becomes TIP. Quote callouts become plain blockquotes, because a quotation is not an alert. Every mapping can be changed with the controls above, and a custom type you invented falls back to NOTE with a warning.
What happens to collapsible callouts (+ or -)?
GitHub alerts cannot fold, so by default the + or - is removed and the callout is always shown open. If you would rather keep a folded callout folded, choose the details option: the callout becomes an HTML details block with its title as the summary. That keeps the folding but loses the alert colour and icon, since GitHub will not put an alert inside a details element.
Does GitHub support custom callout titles?
No. GitHub only recognises an alert when its marker stands alone on the first line of the blockquote; put a title after [!NOTE] and GitHub renders an ordinary blockquote instead. So a title like "> [!tip] Pro tip" is converted to the marker on one line and "**Pro tip**" in bold on the next, which reads the same and keeps the alert working. You can also drop titles entirely.
Which alert types does GitHub support?
Five: [!NOTE], [!TIP], [!IMPORTANT], [!WARNING] and [!CAUTION]. They work in README files, issues, pull requests and discussions on GitHub. Note that Obsidian treats "important" as another name for tip and "caution" as another name for warning, but GitHub has separate alerts for both, so this converter keeps them distinct.
Can GitHub alerts be nested?
No — an alert cannot sit inside another alert or inside a list. Obsidian allows callouts inside callouts, so a nested callout is converted to a plain nested blockquote with its title in bold, and the converter tells you which lines it changed that way.
Is my Markdown uploaded anywhere?
No. The converter runs entirely as a small script inside this page; pasted or opened files never leave your browser, and there is no upload, no API call and no analytics here. That is enforced rather than promised: this site’s test suite scans the shipped HTML for every browser API capable of sending data off the page and fails the build if it finds one.