Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

List Callouts Improved

Daniel YimDaniel Yim2k downloads

Create simple callouts in lists.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates17

Create customized callouts in any list or highlighted text in Obsidian.

[!NOTE] This project is a fork of obsidian-list-callouts by @mgmeyers, who deserves all the credit for the original plugin and its design. Unfortunately that project has seen no activity since September 2024 and appears to be abandoned by the author.

This fork picks up maintenance and feature development so the plugin keeps working with current versions of Obsidian.

Typing a configurable character at the beginning of a list item turns the item into a highlighted callout:

A note with each built-in callout character applied to a list item, shown in light and dark mode

The characters can be replaced with icons:

The same note with each callout character replaced by an icon, shown in light and dark mode

An item whose text runs onto further lines is one callout: the band covers every line of the item, in the editor as in reading view, nested items included:

Three list items, two of them running onto further lines and one of those nested, each painted as a single band covering all of its lines, shown in light and dark mode

Characters, icons, and colors are all configurable, and you can add your own callouts:

The plugin settings tab with the icon picker open and a tooltip naming the hovered icon, in light and dark mode

A callout's color paints both its marker and its background. If the marker is hard to read against a faint background, switch Default marker color to Custom marker color and pick a color for the marker alone. The background keeps the callout's color, and the marker color also applies to that callout's highlights:

A callout's settings row with the marker color dropdown on "Custom marker color", its preview showing a dark amber star on the callout's yellow background, and the marker color picker open below the second swatch, in light and dark mode

A callout line shows two markers by default: the list's own bullet or number, then the callout's. Turn on Hide bullets and numbers in the settings tab and the callout marker stands in for the bullet, the way a checkbox does. A checkbox stays, since it can be clicked, and plain list items keep their bullets:

Six list items with the setting on: a star callout above a plain bullet item, a question-mark callout above a plain numbered item, and a warning callout keeping its checkbox above a plain task, shown in light and dark mode

The previews in the settings tab follow the toggle, so each callout shows how it will look:

The settings tab with Hide bullets and numbers turned on: every callout's preview line shows its marker in place of the bullet, in light and dark mode

By default a callout colors its own list item only. Turn on Color nested items and the items nested under it take its color too, all the way down. A nested item that starts a callout of its own colors the items under it instead, and the items under a plain item stay plain:

Three lists with the setting on: a star callout whose nested items and their children share its yellow, a question-mark callout whose first nested item is a red warning callout with its own child in red while the next nested item is orange again, and a plain item whose nested item is plain, shown in light and dark mode

Callouts are drawn in Live Preview and reading view. Source mode shows the raw markdown, - & Important and so on, with the callout character there to see and edit: no marker or icon stands in for it. The band behind the line and a highlight's color are kept, and the character is tinted in the callout's color, so a callout is still told apart at a glance in either mode:

The same four callouts twice: in Live Preview, each led by its icon, and below it in source mode, each led by its raw character in the callout's color on the same band, shown in light and dark mode

Callout padding and background intensity can be adjusted with the Style Settings plugin.

Highlights

The same callout triggers work inside Obsidian's ==highlight== syntax. Start a highlight with a callout trigger and a space ==* Highlighted text==, and it takes that callout's color, led by the character, or by the icon if one is set:

A paragraph with several inline highlights, each in a different callout color, rendered twice: led by the callout characters above, and by the callouts' icons below, each shown in light and dark mode

A highlight that runs across a line break is colored as one in both the editor and reading view, including a list item's continuation line. Highlights inside callout blocks and tables work too:

A paragraph, a list, a callout block and a table, each holding highlights in different callout colors, two of them running across a line break, shown in light and dark mode

A callout highlight's text keeps the normal text color, the same as a list callout's. Under a theme that gives highlighted text a color of its own, a plain highlight takes the theme's color and a callout highlight does not:

A paragraph with a plain highlight in a theme's own text color, and below it a list callout with a callout highlight inside, both in the normal text color, shown in light and dark mode

A highlight in one of Obsidian's colors (1.14 and later, ==🔴* Highlighted text==) that starts with a callout trigger is a callout too, in Live Preview and reading view, and takes the callout's color rather than its own. Source mode leaves it as Obsidian draws it, in the highlight's color.

Tag callouts

A callout can be triggered by a tag instead of a character: set a callout's character to a whole tag, such as #meal, and turn on Tag callouts at the top of the settings tab. Any list item with that tag anywhere on its first line then takes the callout, so a day's log can read - 12:30 #meal Lunch. If the callout has an icon, the icon replaces the tag; without one, the tag stays as Obsidian draws it and still links to its search. In Live Preview the tag comes back while the cursor is on it, so it can be edited.

A day's log in which each timed entry is colored by a tag somewhere in it: exercise in green with a dumbbell, meals in orange with a fork and knife, work in blue with a briefcase whether tagged #work or #work/meeting, and an errand in purple still showing its #errand tag, shown in light and dark mode

  • A nested tag takes its parent's callout unless it has one of its own: #work/meeting uses the #work callout.
  • Tags match whatever their case, as in Obsidian.
  • If an item has more than one tag with a callout, the first one wins. A callout character at the start of the item wins over any tag.
  • A #tag in inline code or outside a list is left alone, and so is one on a line the item wraps onto.
  • Remove callout removes the tag that made the item a callout. Next callout and Previous callout work on the start of the item, as they do for characters.
  • Hide bullets and numbers leaves an item colored by a tag its bullet, since the icon sits where the tag is rather than where the bullet was.

With the setting off, a tag callout only counts at the start of an item, like any other callout character.

This follows List Callouts Tags, without replacing character callouts: both kinds can be used side by side.

From Callout Manager

With Callout Manager enabled, the settings tab offers an Import from Callout Manager button. It adds a tag callout for each callout Callout Manager lists, with the color and icon it shows for it, so - #definition matches > [!definition]. That includes the callouts your theme and CSS snippets define, not only the ones made in Callout Manager. Obsidian's built-in callouts, the tags you already have a callout for, and ids that can't be tags (such as 2024) are left out, and the button lists what it will add before it adds anything.

The import is a copy: a callout changed in Callout Manager afterwards isn't updated here. A callout with different colors for light and dark mode comes over in the color it has in the current mode.

Managing callouts

Callouts are defined in one list. A new vault starts with the seven shown above, and any of them can be edited, reordered by dragging, or deleted, built-in ones included.

The plugin's settings tab in full: the tag callouts toggle, the highlight toggles, then the seven built-in callouts each with a preview, character, icon, color and marker color, and the reset at the bottom, shown in light and dark mode

Reset to defaults, at the bottom of the settings tab, restores the original seven. It replaces everything currently configured, so added callouts and edits to the built-in ones are lost. It asks for confirmation first and can't be undone.

The order matters: it is the order the cycling commands below step through.

Commands

Each command can be given a hotkey from Settings → Hotkeys. All three act on every line a selection touches, skipping lines that aren't list items, and one undo reverts them all.

Command What it does
Next callout / Previous callout Steps the line through the callout list in the order the settings tab shows. A plain list item is part of the cycle: stepping off either end leaves a plain list item, so overshooting wraps around instead of stranding the line, and the two directions are exact inverses.
Remove callout Strips the callout character from the current line, leaving the list item behind.

Support for custom icons

Any SVG in your vault's .obsidian/icons folder is registered as an icon and appears in the picker alongside the ones Obsidian ships. A file named My Fancy Icon.svg gets the icon name my-fancy-icon.

This is the same folder Iconize uses, so a vault already keeping icons there needs no changes.

An icon drawn in a single color, such as the black of most icon downloads, takes the callout's color (or its marker color) the way Obsidian's own icons do. An icon in two or more colors, or with a gradient, keeps its own.

Icons are read once Obsidian has finished starting up, so restart Obsidian or toggle the plugin after adding files. A name that an Obsidian icon already uses is skipped rather than replaced, and a file that is not usable SVG is skipped with a note in the console.

Migrating from List Callouts

This fork uses a new plugin id, so Obsidian treats it as a separate plugin and your existing List Callouts settings won't carry over on their own.

If the original plugin's settings are still in your vault, the settings tab offers an Import from List Callouts button that copies them over.

The Import from List Callouts row at the top of the settings tab, shown in light and dark mode

Once migrated, disable or delete the old plugin.

Development

See docs/DEVELOPMENT.md for building the plugin and docs/TESTING.md for running the test suite.

License

GPL-3.0

If this plugin is useful to you, please consider buying me a coffee.

HealthExcellent
ReviewPassed
About
Create customizable callouts in any Markdown list by typing a configurable character at the start of a list item to turn it into a highlighted callout. Replace characters with icons via a searchable icon picker, customize colors and order, add or reset callouts, and cycle through callouts on selected lines with commands.
FormattingIconsCommands
Details
Current version
1.9.0
Last updated
3 weeks ago
Created
2 months ago
Updates
17 releases
Downloads
2k
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
GPL-3.0
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Daniel YimDaniel Yimdanyim
daniely.im
GitHubdanyim
  1. Community
  2. Plugins
  3. Formatting
  4. List Callouts Improved

Related plugins

Sort and Permute lines

Sort and Permute lines in whole file or selection.

List Callouts

Create simple callouts in lists.

Admonition

Admonition block-styled content.

Text Format

Format selected text upper/lower/capitalize.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Note Toolbar

Add customizable toolbars to your notes.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.