Star Icons

approved

by Kerekes Stefan

The icon collection manager for Obsidian. Browse 103,000+ bundled icons, build collections and tags, and apply icons to files, folders and tabs with an intuitive rules engine and live preview. - This plugin has not been manually reviewed by Obsidian staff.

640 downloadsUpdated 9d agoMIT

⭐ Star Icons

The icon collection manager for Obsidian — 103,000+ icons, organized into collections and tags, and applied to files, folders and tabs through an intuitive rules engine with live preview and full transparency.

Star Icons takes a third path in the icon-plugin landscape:

  • Iconize gives you total manual control.
  • AutoIcons gives you set-and-forget automation.
  • Star Icons gives you a library: curate, tag and collect icons like music playlists, then apply them with rules that explain themselves.

Icon Manager Offline License

⚠️ Attribution & trademarks: Star Icons bundles icon sets from many third parties — Font Awesome, Twemoji, OpenMoji, Simple Icons, brand logos and more. Every pack keeps its original license and any required credit line (details in Licenses & trademarks below), and third-party logos/names are trademarks of their respective owners — their inclusion here is not an endorsement.


📸 Screenshots

Icon ManagerIcon picker
Icon Manager — the collection hubIcon picker — search & apply
Icon detailsSettings
Icon details — preview, tags, collectionsSettings — packs, file types, data
Settings — data & packs
Settings — ColorsSettings — Dataview collectionsSettings — Soundscapes
Settings — ColorsSettings — Dataview collectionsSettings — Soundscapes
Icon Galaxy — 3D view

Icon Galaxy — browse the whole library as an interactive 3D universe


✨ Features

🗂️ Icon Collection Manager (the hub)

A dedicated sidebar view — the place to browse your icons.

  • 103,676 icons, offline after first load — pack data ships with the repo and manual installs; when a pack file is missing (Obsidian's community installer only downloads main.js, styles.css and manifest.json) it is fetched once from a CDN and cached locally, so everything works offline afterwards. Packs load on demand: main.js stays small, only the packs you enable are read, and every icon carries style tags (outline, filled, bold, color, brand…) so searching 100k icons never feels like 100k near-duplicates.
    • Core — on by default (26,932 icons): Material Symbols (7,798) · Tabler (5,130) · Remix Icon (3,078) · Bootstrap (2,078) · Lucide (2,025) · OpenMoji Color (1,718) · Phosphor (1,512) · Unicons (1,215) · Tabler Filled (1,054) · Boxicons (814) · Heroicons (324) · Animals (94) · Science (47) · Nature & Flowers (31) · Star Icons (14)
    • Extended — opt-in in Settings (76,744 more): Material Outlined (7,798) · Material Sharp (7,798) · MDI (7,638) · Hugeicons (6,005) · Twemoji 🎨 (4,009) · Simple Icons (3,453) · MingCute (3,336) · Fluent Emoji 🎨 (3,145) · Phosphor Bold/Fill/Light/Thin/Duotone (7,560) · Carbon (2,763) · TDesign (2,364) · Font Awesome (2,274) · OpenMoji Mono (1,860) · Iconoir (1,682) · VSCode Icons 🎨 (1,595) · Line Awesome (1,544) · Ionicons (1,357) · Pixelarticons (1,306) · Teenyicons (1,200) · Majesticons (1,045) · Jam (940) · Ant Design (846) · Gravity UI (799) · Octicons (743) · Circle Flags 🎨 (718) · Boxicons Solid/Logos (820) · Eva (490) · Radix Icons (342) · Heroicons Solid (324) · Feather (286) · Unicons Solid/Mono/Thinline (704) 🎨 = full-color pack (keeps its own colors; the tint palette does not apply)
  • Search with fuzzy matching across names, tags and styles
  • Filter by pack, or by your own tags
  • Collections: drag icons in, reorder with drag & drop, rename, delete
  • Favorites and recently used strips in the picker
  • Detail panel: big preview, tags editor, collection membership, copy name/SVG, apply to the active note

🎛️ Rules engine that explains itself

Rules run top-to-bottom and the first enabled match wins — but unlike other plugins, you always know why an icon is there.

  • Conditions: file name · file path · extension · folder · tag · property · heading · and the system clock (day of week + time window)
  • Match all or any conditions
  • Actions: set an icon · random icon from a collection · use Obsidian's default
  • Live preview: watch matching files appear as you build the rule
  • Drag & drop reordering, enable/disable per rule
  • Icon source tooltips: hover any file to see which icon applies and which rule decided it
  • Status bar indicator shows the active note's icon + source

📐 Priority that's predictable

Manual override  >  Rules (in order)  >  File-type default  >  Global default

🖱️ Apply icons everywhere

  • File explorer: files and folders
  • Tab headers of open notes
  • Above the note title (reading view, optionally edit mode)
  • Right-click any file → Set icon… / Copy icon name / Remove icon override
  • Command palette commands + a ribbon button
  • Manual overrides, file-type defaults (.md, .pdf, …) and a global default

🎨 Color palette

Applied icons can be tinted, not just reshaped: pick a color from the preset palette (or any custom color) in Settings → Colors, per file type, per rule (in the rule editor), per manual override (via Set icon… / Set icon color…), and from the Icon Manager. The tint follows the same priority as the icon itself (override > rules > file type > default) and recolors stroke/fill packs (Lucide, Tabler, Material, …); full-color packs like OpenMoji/Twemoji and OS emoji keep their own colors.

🌈 Icon Aurora

A subtle animated nebula backdrop that glows behind the Icon Manager grid and the icon picker, gently shifting hue and tinted to the active pack's color (auto-switches as you filter by pack). Respects prefers-reduced-motion.

📊 Dataview integration

Turn any Dataview query into a dynamic icon collection: in Settings → Dataview collections write a DQL query whose rows carry icon ids (LIST icon FROM #project, TABLE icon FROM "notes", …) and pick the frontmatter property that holds them. Rules can then use Random from Dataview actions — each file gets a deterministic icon drawn from the query's current results, refreshed automatically on vault changes (Dataview itself is optional; rules fall through gracefully until it's installed). The Icon Manager lists your Dataview collections and lets you browse their live results. Combine with the color palette for fully dynamic, color-coded explorers.

🔊 Icon Soundscapes

Every icon can sound like itself. Turn on Soundscapes in Settings → Soundscapes and the Icon Manager / icon picker play short Web-Audio sounds — a subtle blip on hover, the icon's own voice on click (star → twinkle ✨, trash → crash 🗑️, bell → ding 🔔), and a transition sound when a file's icon changes automatically (e.g. a rule starts matching). Choose a synthesis pack (8-bit, Cinematic, Minimal), adjust the intensity from subtle to pronounced, toggle hover/click/change sounds individually, and override any sound with your own .mp3/.wav file (Settings → Soundscapes → Custom sounds). Preview icons' sounds from the Icon Manager's detail panel or its 🔊 toolbar button. Soundscapes default to off — no unexpected audio until you enable it.

🌌 Icon Galaxy (3D)

Browse your whole icon library as an interactive 3D universe: every icon is a glowing star orbiting its pack's planet along the galaxy's spiral arms (stars are tinted by pack). Open it from the Icon Manager's 🌌 Galaxy button or the Open Galaxy View (3D) command:

  • Drag to orbit, scroll/pinch to zoom (OrbitControls with damping)
  • Hover a star for its name · click to select it (syncs to the Manager's detail panel; copy name/SVG, favorite, or jump back)
  • Search — the camera flies to the matching star
  • Cinematic look: UnrealBloom neon glow, glowing constellation lines that link icons sharing a collection or tag, a soft nebula haze, and a gentle auto-orbit that pauses while you drag
  • Ambient starfield, additive glow sprites, pack-colored planets with labels, and a slow galaxy rotation. Rendered with the bundled Three.js engine; requires WebGL.

🧰 And more

  • Pack on/off toggles (instantly shrinks search space)
  • Export / import your whole configuration as JSON
  • Settings reset, keyboard-navigable icon picker, dark/light theme aware
  • No runtime dependencies beyond the Obsidian API and the bundled Three.js engine (MIT) used by the Galaxy View — the plugin itself ships standalone; the icon data comes from many third-party icon libraries (each with its own license, see Licenses & trademarks) and is bundled or fetched on demand and cached locally

🎨 Custom icons and SVG support

Star Icons allows users to import SVG files, paste SVG markup, define custom tags, copy icon names or SVG code, and organize personal icons in the “My Icons” pack. Imported SVGs are normalized to a 24×24 viewBox when necessary. Custom icons can be favorited, added to collections, assigned to files and folders, and used in rules like bundled icons.

⚡ Dynamic pack loading

Icon packs are loaded on demand. Only enabled packs are mounted into the icon index, keeping startup time and search performance responsive even when the full library contains tens of thousands of icons.


🚀 Getting started

From the community plugin store

  1. Settings → Community plugins → Browse → search "Star Icons" → Install → Enable.

Manual install (from source)

  1. Download main.js, manifest.json and styles.css from the latest release.
  2. Copy them into <vault>/.obsidian/plugins/star-icons/.
  3. Reload Obsidian and enable Star Icons — any missing pack is downloaded on demand and cached into packs/. For a fully offline install, also copy the packs/ folder from the repo into the plugin folder.

Development

npm install
npm run build:icons   # regenerate src/data/generated/*.json from node_modules packs
npm run dev           # watch mode (esbuild + packs/ copy)
npm run build         # production build -> main.js + packs/
npm test              # rule engine unit tests

📖 Rules deep-dive

ConditionWhat it checksExample
File namethe note's basenamecontains "journal"
File pathfull vault-relative pathstarts with "Projects/"
Extensionthe file typeis in "md, pdf, png"
Folderthe parent folderis in "Daily Notes/2025"
Tagtags from frontmatter/inlineequals "todo"
Propertyany frontmatter propertystatus equals "active"
Headingheadings inside the notestarts with "Chapter"
Timeday of week + 24h windowMon–Fri, 09:00–17:00

Rules are evaluated in order; the first enabled rule whose conditions match wins. Drag rules to reorder, toggle them off without deleting, and use the live preview to sanity-check before saving.

💡 Tip: combine a folder rule with a random action and a collection of 20 icons — every project folder gets its own rotating icon.


🧭 Philosophy

  1. Library first. Icons are content. Tag them, collect them, curate them.
  2. Transparency. Every icon on screen can explain its own provenance.
  3. Offline after first sync. Missing pack data is fetched once and cached in the plugin folder; after that there's no waiting and no network needed.
  4. Native feel. Icons follow Lucide's design guidelines (24×24, 2px stroke, round caps) so they sit naturally inside Obsidian.

📦 Icon packs

Core — on by default (26,932 icons)

PackCountStyleSource
Material Symbols7,798rounded (base+fill)Google Fonts (Apache 2.0)
Tabler5,130outlinetabler.io/icons (MIT)
Remix Icon3,078line + fillremixicon.com (Remix Icon License v1.0)
Bootstrap Icons2,078filledicons.getbootstrap.com (MIT)
Lucide2,025strokelucide.dev (ISC)
OpenMoji Color1,718full-color emojiopenmoji.org (CC BY-SA 4.0)
Phosphor1,512regularphosphoricons.com (MIT)
Unicons1,215lineiconscout.com/unicons (IconScout Simple License)
Tabler Filled1,054filledtabler.io/icons (MIT)
Boxicons814regularboxicons.com (MIT)
Heroicons324outlineheroicons.com (MIT)
Animals94system emojirendered with your OS emoji font
Science47system emojirendered with your OS emoji font
Nature & Flowers31system emojirendered with your OS emoji font
Star Icons14customoriginal (MIT)

Extended — opt-in in Settings (76,744 icons)

PackCountStyleSource
Material Outlined7,798outlinedGoogle Fonts (Apache 2.0)
Material Sharp7,798sharpGoogle Fonts (Apache 2.0)
MDI7,638filled + outlineMaterial Design Icons (Apache 2.0)
Hugeicons6,005strokehugeicons.com (MIT)
Twemoji4,009full-color emojitwemoji (CC BY 4.0)
Simple Icons3,453brand logossimpleicons.org (CC0)
MingCute3,336line + fillmingcute.com (Apache 2.0)
Fluent Emoji3,145full-color flatfluentui-emoji (MIT)
Carbon2,763filledcarbondesignsystem.com (Apache 2.0)
TDesign Icons2,364line + filledtdesign.tencent.com (MIT)
Font Awesome Free2,274solid + regularfontawesome.com (CC BY 4.0 · OFL 1.1 · MIT)
OpenMoji Mono1,860monochrome emojiopenmoji.org (CC BY-SA 4.0)
Iconoir1,682stroke + solidiconoir.com (MIT)
VSCode Icons1,595file types + folders (color)vscode-icons (MIT)
Line Awesome1,544line (incl. brands)icons8.com/line-awesome (MIT)
Phosphor Bold1,512boldphosphoricons.com (MIT)
Phosphor Fill1,512fillphosphoricons.com (MIT)
Phosphor Light1,512lightphosphoricons.com (MIT)
Phosphor Thin1,512thinphosphoricons.com (MIT)
Phosphor Duotone1,512duotonephosphoricons.com (MIT)
Ionicons1,357base + outline + sharpionicons.com (MIT)
Pixelarticons1,306pixelpixelarticons.com (MIT)
Teenyicons1,200outline + solidteenyicons.com (MIT)
Majesticons1,045line + solidmajesticons.com (MIT)
Jam Icons940filled (+ -f variants)jam-icons.com (MIT)
Ant Design846outlined/filled/twotoneant.design (MIT)
Gravity UI Icons799stroke + fillgravity-ui.com/icons (MIT)
Octicons743filledprimer.style/octicons (MIT)
Circle Flags718round country flags (color)hatscripts.github.io/circle-flags (MIT)
Boxicons Solid665solidboxicons.com (MIT)
Eva Icons490outline + fillakveo.github.io/eva-icons (MIT)
Radix Icons342filled (15×15)radix-ui.com/icons (MIT)
Heroicons Solid324filledheroicons.com (MIT)
Unicons Monochrome298monochromeiconscout.com/unicons (IconScout Simple License)
Feather286strokefeathericons.com (MIT)
Unicons Thinline216thinlineiconscout.com/unicons (IconScout Simple License)
Unicons Solid190solidiconscout.com/unicons (IconScout Simple License)
Boxicons Logos155logosboxicons.com (MIT)

Total: 103,676 icons (26,932 core + 76,744 extended).

Licenses & trademarks

Every bundled pack keeps its original license and copyright, and any required credit line stays visible here. The complete per-pack inventory — sources, versions, attribution requirements and compliance notes — is maintained in THIRD-PARTY-NOTICES.md, with full license texts in licenses/.

Pack(s)LicenseAttributionModifications
TwemojiCC BY 4.0⚠️ Credit line requiredMark modifications if applicable
Font Awesome FreeCC BY 4.0 (icons) · OFL 1.1 (fonts) · MIT (code)⚠️ Credit line requiredCheck logo and trademark restrictions
OpenMoji Color / MonoCC BY-SA 4.0Attribution + share-alikeShare adaptations under the same license
Material Symbols (base, Outlined, Sharp) · MDI · MingCute · CarbonApache 2.0Keep license + copyright noticesPreserve notices
LucideISCKeep copyright noticePreserve notice
Remix IconRemix Icon License v1.0Keep a license copy when redistributing the setCustom license — review terms
Unicons (all styles)IconScout Simple LicenseNot required (encouraged)Attribute the creator when republishing edited assets
Tabler · Tabler Filled · Bootstrap · Phosphor (all weights) · Ionicons · Line Awesome · Ant Design · Boxicons (all styles) · Octicons · Eva · Heroicons · Fluent Emoji · Hugeicons · Iconoir · TDesign · Gravity UI · Feather · Radix Icons · Jam · Pixelarticons · Teenyicons · Majesticons · Circle Flags · VSCode IconsMITKeep copyright notice
Simple IconsCC0None required
Animals · Nature & Flowers · ScienceOS emoji fontNone requiredRendered with your system emoji font; no font is redistributed
Star Icons (custom)MIT (original)None required

Brand icons are trademarks of their respective owners. Their inclusion does not imply sponsorship, endorsement, affiliation, or ownership by Star Icons. This applies especially to Simple Icons and the "brands" packs (Boxicons Logos, Line Awesome brands, Octicons), which contain logos of GitHub, Google, Microsoft, Apple, Docker, OpenAI and others — an icon license does not grant trademark rights.

The Animals, Nature & Flowers and Science packs render Unicode emoji with your system's emoji font; Star Icons does not redistribute emoji font files, so the applicable license is your operating system's font license.


🤝 Contributing

  • Report bugs & request features via GitHub issues — the plugin has a built-in Report a bug dialog (Ctrl+P → "Star Icons: Report a bug…") that copies a diagnostic report for you.
  • Add icons: edit src/data/packs/star.ts (24×24 stroke-style SVGs) and open a PR.
  • Add packs: permissively licensed icon sets published as @iconify-json/<prefix> data packages only need one entry in the ICONIFY_SETS table at the top of scripts/build-icon-data.mjs (plus the pack id in src/types.ts and a shell in src/data/icons.ts); for anything else, add a builder function and re-run npm run build:icons.

Star Icons is open source (MIT) — star on GitHub and like the plugins it learns from (Iconize, Iconic, AutoIcons).


📜 License

The Star Icons source code and original Star Icons assets are licensed under the MIT License — see LICENSE.

Third-party icon packs are not relicensed under MIT. Each bundled pack remains under its original license. See THIRD-PARTY-NOTICES.md and the in-app Licenses and Attribution section for details.

Brand icons and logos are trademarks of their respective owners. Their inclusion does not imply sponsorship, endorsement, affiliation, or ownership by Star Icons.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.