Phosphor Icons React

Over 1,500 flexible SVG icon components for React, in six visual weights

Library
npm
v2.1.10
1,744stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
42/100Fair
Development Activity0
Maintenance20
Community48
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
73/100Good
Architecture75
Code Quality70
Innovation65
Learning Curve82

Phosphor Icons for React packages the entire Phosphor icon family — over 1,500 icons — as individually importable React components, each rendered as an inline SVG so it inherits currentColor and can be styled with plain CSS. Every icon is available in six visual weights (thin, light, regular, bold, fill, duotone) selectable via a weight prop, letting a single icon set cover both minimal line-art UIs and heavier, higher-contrast designs without swapping icon libraries.

The library is built around a small shared runtime (IconBase/SSRBase) that every generated icon component wraps, plus an IconContext provider for setting default size, color, and weight across an entire app instead of repeating props on every icon. It ships both a client-side-rendering build (csr) and a server-side-rendering-safe build (ssr) so icons render correctly during Next.js/Astro-style SSR without hydration mismatches, and each icon is exported individually so bundlers can tree-shake unused icons out of the final bundle.

What You Get

  • Over 1,500 individually importable icon components, each rendered as an inline, style-able SVG
  • Six visual weights per icon (thin, light, regular, bold, fill, duotone) selectable via a weight prop
  • An IconContext provider for setting default size, color, weight, and mirrored across all icons in an app
  • Separate client-side-rendering and server-side-rendering-safe builds so icons work correctly in SSR frameworks
  • Full TypeScript type declarations generated per-icon for autocomplete and type-checked props

Common Use Cases

  • Populating a design system’s icon set with a single consistent, weight-flexible icon family
  • Building admin dashboards and marketing sites that need thousands of icons available without hand-authoring SVGs
  • Using duotone or fill weights for higher-emphasis icons (e.g. empty states, feature callouts) alongside regular-weight navigation icons
  • Server-rendered React apps (Next.js, Astro with React islands) that need icons to render correctly without hydration flicker
  • Swapping icon styles app-wide (e.g. thin to bold) via the shared IconContext instead of editing every call site

Under The Hood

Architecture The published package is almost entirely generated: a small hand-written runtime in src/lib (IconBase.tsx, SSRBase.tsx, context.ts, types.ts — under 130 lines total) defines how any icon renders (forwarding refs, merging context defaults with local props, choosing the right weight’s SVG paths), and a scripts/ build step generates one component file per icon under src/csr and src/defs (1,512 files each) from the underlying Phosphor SVG icon definitions. Each generated icon component is a thin wrapper that passes its specific SVG path data into the shared IconBase, so the actual per-icon logic is a single source of truth rather than duplicated across 1,500+ files.

Tech Stack Written in TypeScript, built with Vite (vite.config.ts) to emit both dist/index.es.js and dist/index.cjs.js builds plus per-icon subpath exports (./dist/icons/*, ./dist/csr/*), and packaged with pnpm. The only meaningful runtime dependency is React itself (as a peer dependency); the icon rendering logic has no other runtime dependencies.

Code Quality Testing is comparatively thin for a package of this size — test/index.test.tsx covers the shared IconBase rendering behavior and context propagation rather than exhaustively testing all 1,500+ generated icon components individually, which is a reasonable trade-off given the icons are mechanically generated from the same base component and share identical rendering logic. Because most of the source tree is generated rather than hand-authored, code quality is best assessed via the shared runtime files, which are small, typed, and easy to review in full.

API Design Every icon is imported by name (import { Acorn } from '@phosphor-icons/react') and accepts a small, consistent prop set (size, color, weight, mirrored) shared across all 1,500+ icons via the same IconBase — so learning one icon’s API means knowing all of them. The IconContext.Provider pattern lets teams set app-wide icon defaults once, avoiding repetitive prop-drilling, while still allowing any individual icon instance to override those defaults locally.

Used by 19 apps in this directory

TypeScript
60%
Other

agenta

Developer Tools · Devops · AI Development

4,706

The open-source LLMOps platform unifying prompt engineering, evaluation, and observability for teams building reliable LLM applications.

View details
91
Repo Health
77
Technical
67
Dependency
Built with
TypeScript60%
Python38%
Updated yesterday
TypeScript
100%
Apache 2.0

agentic-inbox

AI Agents · Productivity

7,214

A self-hosted email client with an AI agent that reads your inbox, drafts replies automatically, and exposes full email operations over MCP — running entirely on Cloudflare Workers.

View details
31
Repo Health
74
Technical
77
Dependency
Built with
TypeScript100%
Updated 4 months ago
JavaScript
95%
MIT

AnythingLLM

Developer Tools · Automation · AI Assistants

65,696

The all-in-one AI platform for private document chat, no-code agents, and local LLMs with zero setup friction.

View details
90
Repo Health
78
Technical
64
Dependency
Built with
JavaScript95%
Updated 3 days ago
Python
67%
Other

AutoGPT

Automation · Productivity · AI Assistants

187,177

Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.

View details
93
Repo Health
78
Technical
66
Dependency
Built with
Python67%
TypeScript32%
Updated today
TypeScript
98%
MIT

Cate

AI Code Assistants

2,122

A desktop IDE built on an infinite canvas — spread code editors, terminals, browsers, docs, and AI agents across freeform space instead of stacking windows and tabs, with layouts restored automatically.

View details
79
Repo Health
71
Technical
72
Dependency
Built with
TypeScript98%
Updated yesterday
TypeScript
90%
Apache 2.0

HyperFrames

AI Development · AI Design Tools

44,430

Turn plain HTML and CSS into deterministic, pixel-perfect MP4 videos — authored by humans or AI agents, rendered by headless Chrome and FFmpeg.

View details
82
Repo Health
83
Technical
65
Dependency
Built with
TypeScript90%
Updated today
Python
51%
AGPL 3.0

Khoj

AI Assistants · Knowledge Management · Productivity

37,160

A self-hostable AI second brain that chats with your documents, searches the web, builds custom agents, and runs entirely on your own LLM.

View details
75
Repo Health
82
Technical
69
Dependency
Built with
Python51%
TypeScript36%
Updated 1 months ago
Python
51%
AGPL 3.0

LearnHouse

Learning Management · CMS

2,240

Open-source LMS with AI tutoring, real-time collaboration boards, live code execution, and built-in course monetization — self-hosted in minutes.

View details
90
Repo Health
77
Technical
66
Dependency
Built with
Python51%
TypeScript48%
Updated yesterday
TypeScript
93%
AGPL 3.0

Linkwarden

Bookmarks Archiving · Knowledge Management

19,702

Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.

View details
89
Repo Health
72
Technical
66
Dependency
Built with
TypeScript93%
Updated 2 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

Search