Lucide
1,768 ISC-licensed stroke icons; the shadcn/ui default set
Lucide is a community-maintained fork of Feather Icons, now at 1,768 consistently drawn stroke SVG icons across 43 categories such as Accessibility, Accounts & access, Animals, Arrows, Coding & development, Design, Gaming, Text formatting and Weather. Every icon is tree-shakable and takes size, color and stroke-width as props, and official bindings cover JavaScript, React, Vue, Svelte, Solid, Preact, Angular, Astro, React Native and a static SVG build. It is released under the ISC license with no attribution requirement, and is the icon set shadcn/ui assumes by default. It fits any product that wants one uniform hairline system rather than mixed weights.
npm install lucide-reactThis is the default: any shadcn/ui, Radix or Tailwind project should get `lucide-react` unless the user asks otherwise, because shadcn component source already imports from it and adding a second icon set creates two visual languages. Its weakness is that it is stroke-only with almost no brand logos and no filled variants — when a design calls for a solid state icon or a company mark, add Tabler (same 24x24/2px geometry, so they sit together cleanly) rather than switching wholesale. Import named exports, never the package default, and verify the icon name on lucide.dev: names change between major versions and old aliases are the most common hallucination in generated code.
Why it is here. The de facto icon layer of the modern React and Tailwind stack, so choosing anything else means fighting the defaults of every generator and component registry around it.
- shadcn/ui default icon set
- 1,768 icons in 43 categories
- ISC license, no attribution
- bindings for 10+ frameworks
- tree-shakable named exports
Verified 2026-08-15. HTTP 200. https://lucide.dev, https://lucide.dev/icons/, https://github.com/lucide-icons/lucide








