React Icons

SVG icon components for React, bundling 40+ popular icon packs behind one consistent import syntax.

Library
npm
v5.7.0
12,684 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
69 /100 Good
Development Activity 64
Maintenance 44
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
78 /100 Good
Architecture 82
Code Quality 62
Innovation 80
Learning Curve 88

React Icons packages dozens of popular icon libraries — Font Awesome, Material Design, Ionicons, Feather, Bootstrap Icons, Tabler, Phosphor, and more — as tree-shakeable React components under a single npm dependency. Each icon set lives at its own import path (react-icons/fa, react-icons/md, and so on), so bundlers only include the specific icons a project actually imports rather than the whole library.

Icons render through a shared IconBase component that maps standard SVG attributes plus size, color, and title props onto the underlying markup, and an optional IconContext.Provider lets teams set defaults like color and className globally without repeating props on every icon. With over 8 million weekly npm downloads and 12,600+ GitHub stars, it has become a default choice for teams that want broad icon-set coverage without maintaining separate SVG assets or icon fonts.

What You Get

  • Access to 40+ icon packs (Font Awesome 5/6, Material Design, Ionicons, Feather, Bootstrap Icons, Tabler, Phosphor, Simple Icons, and more) totaling tens of thousands of icons
  • Per-icon-set subpath imports (react-icons/fa, react-icons/md, etc.) that keep bundles small since only the icons you import are included
  • A shared IconContext for setting default color, size, className, and style across every icon in a subtree
  • Full TypeScript types for every icon component and the IconBase props

Common Use Cases

  • Adding consistent UI icons (buttons, nav, status indicators) to a React app without designing or hand-optimizing SVGs
  • Swapping between icon packs (e.g. migrating from Font Awesome to Feather) without changing component usage patterns
  • Building admin dashboards, marketing sites, and design-system component libraries that need broad icon coverage out of the box

Under The Hood

Architecture React Icons is a Yarn/Lerna monorepo whose core publishable package lives at packages/react-icons. At publish time, scripts/fetcher.ts downloads SVG source from each upstream icon project (Font Awesome, Ionicons, Material Design, etc.), scripts/build.ts (via esbuild) parses and optimizes each SVG with cheerio/svgo into a serializable IconTree, and per-icon-set entry points (lib/fa/index.mjs, lib/md/index.mjs, …) are emitted so react-icons/fa only pulls in Font Awesome’s icons. At runtime, every icon is a thin function produced by GenIcon(data) in src/iconBase.tsx, which recursively converts the IconTree into React elements and renders them inside a shared IconBase component; IconBase reads an optional IconContext.Provider (src/iconContext.tsx) for ambient color/size/className/style defaults and merges those with per-icon props before emitting the final <svg>. Tech Stack The package is written in TypeScript and built with esbuild (esbuild-register for the build scripts themselves); SVG fetching/parsing during the build step uses cheerio and svgo, with find-package/glob/p-queue handling monorepo file discovery. React is a peer dependency pinned only to "*", and sideEffects: false plus per-icon-set exports drive tree-shaking. The repo also ships auxiliary workspaces — a CRA demo app, a webpack4 compatibility test app, a TypeScript type-check app (ts-test), and an Astro-based docs/preview site — used to validate the built output across bundlers and frameworks. Code Quality There is no dedicated unit-test suite for the icon-generation or rendering logic itself; the closest coverage is default Create-React-App snapshot tests in the demo workspaces, which mostly assert the demo app renders. Correctness instead leans on a strict, generated TypeScript surface (IconTree, IconBaseProps, IconType), a standalone type-check script run in CI (tsc -p ./scripts/tsconfig.json), an ESLint config (eslint.config.cjs), and a check.ts build script that verifies fetched icon sets match the expected manifest before publishing. API Design The public API is deliberately minimal: each icon is a drop-in React component named in PascalCase with a two-letter icon-set prefix (e.g. FaBeer, MdHome), accepting the same props across every icon set — standard SVG attributes plus size, color, and title. Global theming is opt-in via <IconContext.Provider value={{ color, size, className, style }}>, avoiding prop-drilling for common cases. Getting started requires a single import line and no build configuration, and the maintained docs site plus the README’s per-icon-set table (license, version, icon count) make it easy to discover which pack to use.

Used by 64 apps in this directory

Python
64%
Other

Keep

Automation · Devops · Monitoring

12,433

The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.

View details
88
Repo Health
79
Technical
66
Dependency
Built with
Python 64%
TypeScript 36%
Updated 1 weeks ago
Python
71%
MIT

Langflow

AI Agents · AI Development

155,973

Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.

View details
90
Repo Health
85
Technical
64
Dependency
Built with
Python 71%
TypeScript 21%
Updated 5 days ago
TypeScript
96%
Other

Langfuse

AI Development · Monitoring

36,276

Open source AI engineering platform for LLM observability, prompt management, evaluation, and debugging — self-host in minutes or use Langfuse Cloud.

View details
92
Repo Health
81
Technical
65
Dependency
Built with
TypeScript 96%
Updated 5 days ago
TypeScript
96%
AGPL 3.0

Libra AI

AI Development · No Code Platforms

1,695

Open-source AI-powered platform that generates and deploys full-stack web applications from natural language prompts, built natively for Cloudflare Workers.

View details
31
Repo Health
71
Technical
68
Dependency
Built with
TypeScript 96%
Updated 1 years ago
JavaScript
98%
Other

Markdrop

Note Taking

360

Visual drag-and-drop markdown editor with GitHub-specific blocks, cloud sync, and offline PWA support

View details
38
Repo Health
57
Technical
69
Dependency
Built with
JavaScript 98%
Updated 7 months ago
TypeScript
53%
MIT

MentraOS

AI Development · Developer Tools

2,391

The open source operating system and SDK that lets developers build one app and run it across smart glasses from Even Realities, Vuzix, Mentra Live, and more.

View details
92
Repo Health
77
Technical
66
Dependency
Built with
TypeScript 53%
Java 16%
Updated 5 days ago
TypeScript
96%
AGPL 3.0

Midday

Invoicing Finance · Productivity

15,091

All-in-one AI-powered business operations platform for freelancers and solo entrepreneurs to manage invoicing, time tracking, banking, and financial intelligence.

View details
51
Repo Health
78
Technical
67
Dependency
Built with
TypeScript 96%
Updated 4 months ago
TypeScript
94%
Apache 2.0

Nanobrowser

AI Assistants · Automation · Productivity

14,163

Open-source Chrome extension for AI-powered web automation — run multi-agent browser workflows locally using your own LLM API keys, free from cloud subscriptions.

View details
80
Repo Health
66
Technical
72
Dependency
Built with
TypeScript 94%
Updated 2 weeks ago
Go
81%
GPL 3.0

Navidrome

File Storage · Music Audio

24,331

Run your own personal Spotify — stream your entire music collection from any device, anywhere, forever.

View details
91
Repo Health
81
Technical
66
Dependency
Built with
Go 81%
JavaScript 15%
Updated 6 days ago

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