24.4k stars · ISC · 1.42.0 (2026-09-07)
~1,600 icons on one 24px grid at one stroke weight — the cheapest way to stop looking like four separate afternoons.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Around 1,600 open-source icons on a consistent 24-pixel grid with a single stroke weight, shipped as packages for React, Vue, Svelte and plain HTML. It is the actively maintained community fork of Feather Icons, and the default icon set for shadcn/ui.
Why it matters
Mixed icon sources are the most legible sign of a self-assembled product: a heavier stroke here, a rounded corner there, one icon that is obviously from a different pack. Visitors do not name it, they just downgrade their estimate of the whole thing. One import fixes it everywhere at once, including the toolbar sitting over the React Flow (Ed. 1 #9) canvas and the tree view from react-arborist (Ed. 7 #11). It ships constantly — 1.40.0 landed on 3 September — so the set keeps filling in, and the SVGs are equally usable in a Penpot mock-up or a YouTube thumbnail.
- One visual system across the app, the site and your video graphics.
- Tree-shakeable, and the ISC licence is as permissive as MIT.
- Releases roughly weekly, so gaps in the set get filled.
- Outline style only — no filled or duotone variants, which limits emphasis.
- Importing the whole package instead of individual icons quietly inflates the bundle.
- Sooner or later you will need an icon it does not have, and drawing a matching one is a real skill.
npm i lucide-react