Ready to drop icons into your code?
npm install iconsax, import it once, and start writing <iconsax-icon name="..." /> anywhere in your app.
<iconsax-icon>iconsax ships as a native Custom Element, so it works identically in React, Vue, Svelte, or a plain <script type="module"> tag — no framework-specific build needed.
Free icons resolve on their own — no key, no account, no network call to any Iconsax server beyond the package's own bundled data chunks.
| Prop | What it does | Default |
|---|---|---|
name | Icon name (required) | — |
type | Style: bold · broken · bulk · linear · outline · twotone | linear |
size | Size in px | 24 |
color | Any CSS color | currentColor |
pro | Boolean flag — resolves from the Pro registry instead of free | absent |
All props are reactive: changing an attribute at runtime (el.setAttribute("color", "red"), or a bound prop in React/Vue/Svelte) re-renders the icon automatically.
Pro icons are never bundled in the package — they're resolved once, locally, via the CLI, then committed to your repo like any other asset. This means:
sync time.pro attributeSame key used for MCP:
ix_pro_...)This scans your code for <iconsax-icon pro ...> usages, requests any new ones from the API, and writes them to iconsax-pro.icons.json at your project root.
Rate limit: 300 new icons per day per key. Icons you already synced don't count against it.
Call this once at your app's entry point. If a <iconsax-icon pro> renders before registerProIcons() runs, it re-renders itself automatically the moment the icon becomes available — no manual retry needed.
| Flag | Description | Default |
|---|---|---|
--key | Pro API key | IX_PRO_KEY env var |
--src | Folder to scan for icon usages | ./src |
--api | API endpoint | https://app.iconsax.io/api/npm-pro-icon |
Do I need a key for free icons?
No. Free icons work with just npm install iconsax — no account, no key.
What happens if I cancel my Pro subscription?
Icons already synced into iconsax-pro.icons.json keep working forever in your project. iconsax sync will stop resolving new Pro icons once your key is no longer tied to an active subscription.
Does this work with SSR / static builds? Yes. Free icon chunks are fetched relative to the package's own URL, and Pro icons are resolved from your local JSON — nothing depends on the request being server-rendered vs. client-rendered.
Can I use it without a bundler?
Yes — it's a plain ES module. <script type="module">import "iconsax"</script> works directly in the browser.
npm install iconsax, import it once, and start writing <iconsax-icon name="..." /> anywhere in your app.
