# unplugin/unplugin-icons

🤹 Access thousands of icons as components on-demand universally.

Repository: https://github.com/unplugin/unplugin-icons
Canonical: https://ross.abutalabs.com/products/unplugin-icons
Homepage: https://www.npmjs.com/package/unplugin-icons
Language: TypeScript
License: MIT
License Family: permissive
Topics: icons, vite, iconify, unplugin, webpack, nuxt, vue, react, jsx
Last push: 2026-01-14T10:52:48+00:00

## Health v2 (maintenance only)
Score: 71/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 62, release rhythm 66, longevity 100
- inputs: {"age_days": 2078, "days_push": 231, "days_rel": 231, "gap_med": 19, "n_releases_24m": 16}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4933, forks 160 (observed 2026-08-28T04:09:02.660013+00:00)

## What it is
A universal build-tool plugin that lets you use thousands of Iconify icons as on-demand components in Vite, Webpack, Rollup, Nuxt, and Rspack projects. It supports major frameworks including React, Vue 3, Solid, Svelte, and Web Components, bundling only the icons you actually use.

## Use cases
- use iconify icons as components in vue or react
- bundle only the icons I actually use on-demand
- add icons to a vite project without FOUC
- use icons in svelte or solid components
- load custom icon sets as framework components
- auto-import icons in nuxt templates

## When to choose
- You need icons across multiple frameworks or build tools with one consistent API
- You want on-demand bundling so unused icons never ship to the client
- You need SSR/SSG-friendly icons without flash of unstyled content
- You want to style icons (size, color, animation) like normal components

## When to avoid
- You need runtime icon loading or dynamically changing icon sets at runtime in the browser
- Your project does not use a supported bundler like Vite, Webpack, Rollup, or Rspack
- You only need a handful of static SVGs and prefer simple inline SVG files
- Your project is CommonJS-only, since the package is ESM-only

## Facets
- artifact type: plugin
- maturity: active
- function: ui-components, build-tool, plugin-system, frontend-framework
- domain: web-development, frontend, developer-tools
- platform: browser
- tags: icons, iconify, vite, webpack, on-demand, vue, react, svelte, solid, nuxt, unplugin, nodejs, web-server

## Member repositories
- unplugin/unplugin-icons (main) score 71

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:02.660013+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:17:58.165777+00:00, confidence not recorded.
  - readme: https://github.com/unplugin/unplugin-icons (fetched 2026-08-28T04:09:02.660013+00:00, sha 864b497dc4fb)
  - homepage: https://www.npmjs.com/package/unplugin-icons (fetched 2026-08-29T09:00:08.795567+00:00, sha ff3d87ba312e)
  - registry_npm: https://registry.npmjs.org/unplugin-icons (fetched 2026-08-29T09:00:08.798748+00:00, sha 4f47a181ba4c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
