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

Inline Icons

ravenhogwartsravenhogwartsObsidian Alchemy Workshop131 downloads

Render icons inline in your notes with a short code span, using built-in icons or any icon registered by Custom Icons.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

English | 中文

Inline Icons

Write icons into the body of a note. `icon:sun` renders as an icon, inline with the surrounding text, at the surrounding font size and colour.

GitHub Socialify

Syntax

The token is an ordinary inline code span, so a note stays readable with the plugin disabled or uninstalled. What gets written to the file is the real icon ID, verbatim — no prefix is added or stripped, so a token can never point at the wrong icon.

Weather is `icon:lucide-sun` today, remind me at `icon:lucide-alarm-clock` nine.

`icon:lucide-sun`                    an icon Obsidian ships with
`icon:CI-mdi-outlined-1k`            an icon from an installed icon pack
`icon:CI-my-icon`                    an SVG you imported (the ID comes from the file name)

Shorthands are accepted when you write them by hand — the plugin tries <name>, then lucide-<name>, then CI-<name> — and a source segment narrows the search to one origin:

`icon:sun`                  shorthand for lucide-sun
`icon:ci:my-icon`           only your imported SVGs
`icon:mdi:outlined-1k`      only the "mdi" pack
`icon:lucide:sun`           built-in first, icon pack as fallback
  • The icon prefix is configurable.
  • An unknown name keeps the original text with a dotted underline, rather than rendering a blank box — so a typo, a disabled pack or a deleted icon is visible.
  • Only the code-span form renders. Bare icon:sun in prose is always left alone; to show a token without rendering it, wrap it in double backticks.

Colour and size

Append modifiers after a comma, in any order:

`icon:lucide-sun,1.5em`                  1.5× the surrounding font size
`icon:lucide-sun,#e5a50a`                a specific colour
`icon:lucide-sun,1.5em,red`              both
`icon:lucide-sun,rgb(255, 0, 0)`         any CSS colour function, commas and all
`icon:lucide-sun,light-dark(#eee, #222)` one colour per light/dark mode
`icon:lucide-sun,--text-accent`          a theme variable, so it follows the theme
`icon:lucide-sun,clamp(1em, 2vw, 2em)`   a responsive size
  • Size — any CSS length (1.5em, 20px, .5rem, 3vw, 2ch) plus calc(), min(), max() and clamp(). The unit is required; % is not accepted. Defaults to 1em.
  • Colour — hex, CSS colour keywords, and every common colour function in either notation: rgb(255, 0, 0) and rgb(255 0 0), hsl(), oklch(), color-mix(), light-dark(). Defaults to the surrounding text colour.
  • Theme variables — write --text-accent or var(--text-accent). A variable name says nothing about its type, so names that look like lengths (--icon-l, --size-4-2) are treated as sizes and everything else as a colour. To settle it yourself: size:--my-length or color:--my-brand.
  • An unrecognised modifier is simply ignored — a typo in the colour never makes the whole token fall back to plain text.

Both defaults are CSS variables on .inline-icon (--ii-icon-size, --ii-icon-color), so you can change them globally in your own CSS snippet.

Writing a token

You never type the backticks — the plugin writes them. Four paths, all landing on the same code:

Path What it does
Suggester Type i:su (the alias is configurable) and pick from the list. Candidates carry a preview and their source; picking one writes the complete token.
Insert icon A command with fuzzy search over every available icon. Insert only.
Insert icon from the icon library Opens Custom Icons' icon picker — grouped grid, favorites and recents shared across both plugins. Falls back to the fuzzy search when Custom Icons is not installed.
Right-click menu On an existing token: change the icon or remove it, keeping the other modifiers. Elsewhere: insert.

The two commands and the right-click menu treat a token under the cursor as "change", not "insert". There is also Re-render icons in this note for when something has not caught up.

Which icons are available

Installed Available icons
Inline Icons alone The icons Obsidian ships with (its bundled Lucide subset)
+ Custom Icons + every SVG you imported and every icon pack you installed — Iconify's full catalogue (220+ sets) and any npm package of loose SVGs

Custom Icons is not a dependency, it is an amplifier. The baseline needs no cross-plugin API at all: Custom Icons registers its icons as ordinary Obsidian global icons, and this plugin resolves names against Obsidian's registry. When it is present, its API adds three things — the Lucide icons Obsidian does not ship, authoritative pack membership for icon:<packId>:, and its icon picker — and each of them disappears cleanly when it is not.

Icon sets change without the plugin list changing (you delete an SVG, you disable a pack), so this plugin listens for Custom Icons' change event and re-renders. Disable Custom Icons and every CI-* token falls back to its original text immediately, rather than going blank.

Where it renders

Surface Renders
Reading view, Live Preview ✅
Embeds ![[note]], hover preview, Canvas cards, PDF export ✅
Source mode ❌ by design — you must be able to see what you wrote
Inside code blocks, inline code, frontmatter, math, link text ❌ by design
File names, tab titles, outline, search result excerpts ❌ — those are plain strings, not rendered Markdown
Obsidian Publish ❌ — plugins do not run there

Move the cursor onto a token in Live Preview and the original text comes back so you can edit it.

Installation

Community plugin market

Click to install, or open Settings → Community Plugins, search for "Inline Icons" and install.

BRAT (beta versions)

  1. Install BRAT
  2. Click "Add Beta plugin" in BRAT settings
  3. Enter Raven-Pensieve/obsidian-inline-icons

License

GPL-3.0 — see LICENSE.

Star History

Star History Chart

HealthExcellent
ReviewSatisfactory
About
Insert inline icons into notes using code-span tokens like icon:sun and keep the raw token readable when the plugin is disabled. Render icons inline at the surrounding font size and color, accept CSS size and color modifiers, resolve names across built-in packs, installed icon packs and imported SVGs (with shorthands), and mark unknown names with a dotted underline.
IconsFormatting
Details
Current version
1.0.0
Last updated
3 weeks ago
Created
3 weeks ago
Updates
1 release
Downloads
131
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
GPL-3.0
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Ko-fi
Authors
ravenhogwartsravenhogwarts
GitHubravenhogwarts
GitHubRavenHogWarts
space.bilibili.com
Obsidian Alchemy Workshopobsidian-raven-pensieve
github.com/Raven-Pensieve/
  1. Community
  2. Plugins
  3. Icons
  4. Inline Icons

Related plugins

List Callouts

Create simple callouts in lists.

Inline Admonitions

Inline callouts to make text pop.

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.

Admonition

Admonition block-styled content.

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.

Image Captions

Add captions to images with inline Markdown and link support. The caption format is compatible with the Commonmark spec and other Markdown applications.

Sort and Permute lines

Sort and Permute lines in whole file or selection.

Link Favicons

See the favicon for a linked website.

Iconic

Customize your icons and their colors directly from the UI, including tabs, files & folders, bookmarks, tags, properties, and ribbon commands.

Colored Text

Color the selected texts.