Iconify for React

React component for the Iconify universal icon framework, spanning 200+ icon sets and 300k+ icons

Library
npm
v6.0.2
6,273stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
65/100Good
Development Activity76
Maintenance28
Community56
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
84/100Excellent
Architecture84
Code Quality82
Innovation80
Learning Curve88

@iconify/react is the official React component for Iconify, a universal icon framework that unifies over 200 open-source icon sets — FontAwesome, Material Design Icons, Feather Icons, EmojiOne, Noto Emoji, and hundreds more — under a single consistent syntax. Instead of installing a separate npm package per icon set, developers reference any icon by name (e.g. mdi:home) and the component fetches or bundles the matching SVG automatically, giving access to roughly 300,000 icons through one dependency.

As the monorepo’s most widely adopted package (hundreds of thousands of weekly downloads, well ahead of its sibling iconify-icon web component and framework bindings for Vue and Svelte), @iconify/react is the de facto standard for icon rendering in React and Next.js applications that want broad icon-set coverage without vendoring dozens of individual icon libraries.

What You Get

  • An <Icon> React component accepting an Iconify icon name string (e.g. mdi:home, logos:react) with no per-icon-set installs
  • Access to 200+ open-source icon sets and roughly 300,000 icons through Iconify’s shared naming convention
  • An offline mode (@iconify/react/offline) for bundling only the specific icons an app uses, avoiding runtime API calls
  • Full styling control via standard props (color, width/height, rotation, flip) mapped onto the underlying SVG
  • TypeScript type definitions and tree-shakeable ESM/CJS builds

Common Use Cases

  • Rendering consistent icons across a React or Next.js app without bundling multiple separate icon-set packages
  • Building admin dashboards or design systems that need access to a very large, mixed icon catalog (UI icons, brand logos, emoji)
  • Offline/air-gapped apps bundling only their used icon subset via the offline API to avoid a runtime icon-fetch dependency
  • Migrating between icon sets (e.g. Material Design to Font Awesome) without changing component usage, just icon name prefixes

Under The Hood

Architecture: Iconify is a pnpm-workspace monorepo where components/react (published as @iconify/react) is one of several framework bindings (components/vue, components/svelte) sitting atop shared packages/ (core, utils, types, fetch, component-utils, api-redundancy). The React component itself is small — src/iconify.ts (389 lines) implements the <Icon> component and icon-name resolution/caching, src/render.ts (246 lines) converts resolved icon data into React elements with prop mapping, src/props.ts defines the public prop types, and src/offline.ts implements the separate offline/bundled-icon entry point that skips the runtime API layer entirely.

Tech Stack: TypeScript throughout, built with Rollup for the distributable bundle and a separate tsc -b pass for type declarations, tested with Vitest plus Playwright-driven browser tests (vitest-browser-react) rather than jsdom-only tests, reflecting the need to verify actual rendered SVG behavior. The package depends only on the workspace-internal @iconify/types at runtime, keeping @iconify/core and @iconify/utils as dev-only build-time dependencies, and declares react as a peer dependency (>=18).

Code Quality: oxlint/oxfmt and tsc --noemit run as part of the lint step before every build, and Microsoft’s api-extractor generates a stable, reviewable public API surface (api-extractor.iconify.json/api-extractor.offline.json) — a level of API-surface discipline uncommon in smaller UI libraries and appropriate given how many downstream apps depend on this package’s exact prop shapes.

API Design: The core design bet — resolving any icon by a simple set:name string instead of requiring a separate npm install per icon set — is what makes the learning curve very low; a developer who knows one set:name combination (e.g. mdi:home) already knows how to use any of the 200+ supported sets. The parallel offline entry point (@iconify/react/offline) cleanly separates the ‘fetch icons at runtime’ and ‘bundle icons at build time’ use cases without forcing consumers into one model.

Used by 6 apps in this directory

TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

32,102

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript95%
Updated today
TypeScript
92%
GPL 3.0

Blinko

Knowledge Management · Note Taking

10,880

A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.

View details
83
Repo Health
69
Technical
65
Dependency
Built with
TypeScript92%
Updated 2 weeks ago
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

50,753

All-in-one AI desktop client with 300+ assistants and multi-model support

View details
88
Repo Health
84
Technical
71
Dependency
Built with
TypeScript99%
Updated today
TypeScript
56%
AGPL 3.0

Responsively App

Design Tools · Developer Tools

25,119

Preview and interact with your responsive web design across every device size simultaneously — no more manual resizing.

View details
67
Repo Health
71
Technical
69
Dependency
Built with
TypeScript56%
JavaScript42%
Updated 2 weeks ago
TypeScript
98%
Other

Sourcebot

Search · Developer Tools · AI Code Assistants

3,892

A self-hosted, AI-powered code search engine that indexes every repo across GitHub, GitLab, Bitbucket, Gitea, Gerrit, and Azure DevOps, so both engineers and coding agents can search, browse, and ask questions about your codebase from one place.

View details
86
Repo Health
83
Technical
67
Dependency
Built with
TypeScript98%
Updated today
Java
48%
Other

Stirling PDF

Productivity · Digital Signiture

89,831

The open-source PDF platform you can run anywhere — edit, convert, sign, and automate PDFs without sending files to external servers.

View details
90
Repo Health
86
Technical
72
Dependency
Built with
Java48%
TypeScript42%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search