cloudparts

Lucide

A community-maintained set of more than 1,600 line icons, a fork of Feather, shipped as SVG files and as tree-shakable components for React, Vue, Svelte, Solid, Angular and other frameworks.

What it is
UI libraries (component libraries)
Type
Open source
Made by
Lucide Icons and Contributors
License
ISC (icons derived from Feather: MIT)
Facts checked
24 October 2026

What it is

Lucide is an icon library rather than a set of widgets: every icon follows one drawing style, so they look like a family wherever they appear. Each is drawn on a 24 × 24 pixel canvas with 2-pixel strokes, round joins and caps, at least 1 pixel of padding and 2 pixels between separate shapes. The same SVGs are published as plain files (lucide-static), a vanilla JavaScript package (lucide) and one package per framework: lucide-react, lucide-react-native, @lucide/vue, @lucide/svelte, lucide-solid, lucide-preact, @lucide/angular and @lucide/astro.

In React each icon is a component that renders an inline SVG. You theme it with props instead of CSS files: size (default 24), color (default currentColor, so the icon takes the text colour around it) and strokeWidth (default 2). Because every icon is its own export, a bundler keeps only the icons you import. This site uses lucide-react too: every concept’s icon is a Lucide name, checked against the installed icon set when the content is built.

Lucide 1.0 shipped on 23 March 2026. It removed all brand logos (the project points to Simple Icons for those), set aria-hidden on icons by default because most are decorative, dropped the UMD build in favour of ESM and CommonJS, which cut lucide-react by 32.3%, renamed lucide-vue-next to @lucide/vue, and added context providers that set default props for every icon in a subtree. Releases are frequent; 1.61.0 came out on 21 October 2026.

Why teams pick it

  • One consistent style across 1,600+ icons, enforced by written design rules for every contribution
  • Tree-shakable per-icon exports, so only the icons you import reach the bundle
  • Official packages for most front-end frameworks, plus plain SVG files, an icon font and a Figma plugin
  • A permissive ISC licence, free for commercial use

Watch out for

  • No brand logos since version 1, by policy; you need a second set such as Simple Icons for them
  • One style only: the design rules call for 2-pixel outline strokes, so the set has no filled or duotone variants to switch to
  • Loading icons by name at run time (DynamicIcon) imports every icon during the build, adds a module per icon and can flash while an icon loads, so the docs advise static imports
  • Names change between versions: some Feather icons were renamed at the fork and version 1 renamed packages, so upgrades can break imports or icon names stored in content

Alternatives

What all component libraries have in common →Compare side by side →

Icons as React components, themed with props · ts

// npm install lucide-react
import { Camera, Trash2 } from 'lucide-react'

export function PhotoActions() {
  return (
    <div className="text-slate-600">
      <Camera />                                            {/* 24px, 2px stroke, text colour */}
      <Trash2 size={16} color="crimson" strokeWidth={1.5} /> {/* themed per icon */}
    </div>
  )
}

// Only Camera and Trash2 end up in the bundle.

See it in a real stack

No architecture uses Lucide yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2020–2026

Feather, a set of minimal line icons by Cole Bemis, stopped keeping up with contributions. Lucide’s maintainers describe more than 300 open issues and over 100 open pull requests, and contributors whose new icons were never merged. Out of that dissatisfaction a group of them forked it as Lucide; the lucide-icons/lucide repository dates from June 2020. They kept every Feather icon, renamed some, and set out to grow the set in the same design language.

The set grew from Feather’s roughly 287 icons to more than 1,600, with written design rules and community review for each addition, and packages for one framework after another. After years on 0.x versions, the project released version 1 in March 2026, by which time it reported more than 30 million downloads a week.

Why it’s built this way

A community fork rather than a new set
Feather’s style was already liked and widely used, but contributions weren’t being accepted. Forking kept the style and the existing icons while opening the project to new ones.
Strict drawing rules
With many contributors, consistency has to be written down: the same canvas, stroke width, corner radius and spacing for every icon, so a new icon fits next to the old ones.
No brand logos
Version 1 removed them, citing legal restrictions, design consistency and practical maintenance: logos belong to their owners and don’t fit a uniform outline style.

Timeline

  1. 2020

    The lucide-icons/lucide repository is created in June as a fork of Feather

  2. 2026

    Version 1 released on 23 March: brand icons removed, aria-hidden by default, no UMD build

Sources11 · facts checked 24 October 2026

Improve this page on GitHub