mrkeyoor.com_
Tue 01 Sept 17:44 UTC
Webevaluationupdated 30 Aug 2026

lucide review

Lucide is a community-run library of more than 1,600 outline SVG icons, with official packages for React, Vue, Svelte, Solid, Preact, React Native, Angular, Astro, plain JavaScript, and static files. It gives product teams one consistent symbol set instead of making them draw, normalize, and package common interface icons themselves.

+19 / 1dstars / 7d
Verdict

Our Lucide run passed all 45 tests after a 57-second install and 222-second build, so the full repository works cleanly even though its 2,165-package dependency tree is large. Use Lucide when you want a broad, consistent outline set across several front-end stacks and can review icon changes during upgrades. Choose Heroicons or Phosphor when solid or multi-weight artwork matters more than Lucide's wider framework coverage.

We ran it

Lab card: what happened when we ran lucideScreenshot of lucide (lucide.dev)
Install✓ · 57s2165 packages · 1201 MB
Build✓ · 222s
Tests✓ · 103s45 passed · 0 failed of 45 (vitest)
Repo5297 files~24,274 lines of source · 45.5 MB · 27 CI workflows

Answers from our run

Does lucide build from source?

Dependencies installed in 57 seconds (2165 packages), and the build succeeded in 222 seconds. We cloned commit 796dad2 into a clean Debian container with 3 CPUs and no project-specific setup.

Do lucide's tests pass?

Yes: 45 of 45 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use lucide?

Products that need company marks or social-network logos: the README says Lucide does not accept brand logos and does not intend to add them.

What are the alternatives to lucide?

Heroicons, Tabler Icons, Phosphor Icons. Our Lucide run passed all 45 tests after a 57-second install and 222-second build, so the full repository works cleanly even though its 2,165-package dependency tree is large.

Setup4/5All steps passed, but 2,165 packages used 1,201 MB
Docs5/5Package, styling, accessibility, and migration guides are specific
Community5/524,240 stars, current discussions, and an active contribution queue
Maturity5/5Ten official package paths and frequent releases support real adoption

Discussed on

  1. hnShow HN: Free animated icon library for Vue63 points
  2. hnLucide: Open-source icon library with 1600 vector (SVG) files for icons6 points

Who it’s for

Web teams that want the same outline icon language across several JavaScript frameworks.
Designers and developers who need matching Figma, component, font, sprite, and raw SVG options.
Commercial products that want a permissive icon library and can follow Lucide's naming and accessibility guidance.
Teams willing to import icons individually and review visual changes during upgrades.

Who it’s NOT for

Products that need company marks or social-network logos: the README says Lucide does not accept brand logos and does not intend to add them.
Teams requiring a frozen icon drawing across dependency updates: release 1.37.0 changed the shapes of several existing icons, including shopping-cart, swords, and panda.
Solid applications that cannot tolerate current integration work: open issue 4529 requests Solid 2.0 support, while issue 4435 reports slow Vite development caused by root imports.
Anyone who wants a tiny contributor checkout: our install added 2,165 packages and occupied 1,201 MB before the build began.

Setup reality

Our sandbox installed 2,165 pnpm packages in 57 seconds and used 1,201 MB on disk. The build succeeded in 222 seconds. Tests then passed in 103 seconds, with Vitest reporting 45 passed and 0 failed out of 45.

Using one published package is simpler than building the full monorepo. Application developers choose the package for their framework and import icons; the static package covers SVG files, a sprite, a font, and JavaScript strings. No account, API key, database, or hosted service is required.

The contributor path is the expensive one: 5,297 files, 27 CI workflow files, several pnpm workspaces, and no Dockerfile. The 45.5 MB checkout grew past 1.2 GB after installation, so a clean CI cache and deliberate package scope matter more here than the README's short package examples suggest.

One outline system covers ten official package paths

Lucide is a continuation of Feather Icons with more than 1,600 community-maintained SVG symbols. The repository publishes official choices for plain JavaScript, React, Vue, Svelte, Solid, Preact, React Native, Angular, Astro, and static assets. That breadth solves a mundane problem well: a company can keep the same icon names and drawing style while different products use different front-end stacks. Designers also get a Figma plugin, which reduces the usual mismatch between mockups and shipped components.

Every icon follows the same 24 by 24 coordinate system and outline language, while package components expose familiar SVG properties such as size, color, and stroke width. Lucide's 45.5 MB checkout contains the source art, metadata, package generators, documentation, and website. Most application teams only install one published package, so they do not take on the whole repository. Teams contributing icons or changing generators do, and that distinction matters when estimating setup.

Individual imports are cheap; dynamic catalogs need care

Framework packages expose icons as components, which makes a button or menu item easy to read in source. Lucide's React documentation says icons are tree-shakable when imported individually. It also warns that the dynamic icon component imports every icon during the build, increasing build time and bundle size. A CMS-driven icon picker may justify that trade, while a fixed navigation bar should use direct imports.

Static users have several routes: raw SVG files, an SVG sprite, an icon font, or SVG strings in JavaScript modules. This is unusually practical for a library often described as a React dependency. It can cover server-rendered pages, documentation generators, native-adjacent apps, and email assets without forcing a component runtime. The repository's 5,297 files explain why the full contributor environment is much larger than copying one SVG.

What happened when we ran it

Our sandbox installed 2,165 pnpm packages in 57 seconds, leaving 1,201 MB on disk. The build completed successfully in 222 seconds. That result came from commit 796dad2 in an unprivileged Debian container with 3 CPUs and 8 GB of RAM. The repository is a pnpm workspace monorepo, so this measures the maintainer checkout rather than the cost of adding one Lucide component package to an existing app.

Vitest finished in 103 seconds with 45 passed and 0 failed out of 45. The lab scan found 27 CI workflow files, no Dockerfile, and no top-level tests directory. Nothing in the run required credentials or a network service after dependencies were available. A fresh contributor can therefore reproduce the build with Node and pnpm, though the 1,201 MB installed footprint makes dependency caching worthwhile on short-lived CI workers.

Brand logos are deliberately outside the catalog

Lucide says it does not accept brand logos and does not plan to add them, citing legal, visual-consistency, and maintenance concerns. That is a sensible boundary for the project and a firm limitation for buyers. A social dashboard still needs a separate source for GitHub, Apple, payment-network, and other company marks. Mixing sets can expose differences in view boxes, stroke widths, corner radii, and optical size.

The set also begins from an outline style. The documentation shows ways to apply fills, but filling an outline icon does not create a separately drawn solid family. If your design system relies on several weights, duotone states, or matched outline and solid versions, Phosphor or Heroicons is the more natural comparison. Lucide is strongest when a 2-pixel stroke and restrained Feather-like geometry already fit the product.

Package upgrades can alter familiar drawings

Release 1.37.0 was published on August 29, 2026. Its notes add icons and revise existing drawings, including shopping-cart, swords, panda, asterisk, and several others. Icon corrections are normal in a living set, yet a changed silhouette can affect screenshots, alignment, and recognition in a mature interface. Visual regression coverage is useful even when an icon dependency follows semantic versioning.

Framework parity also moves at different speeds. Open issue 4529 requests Solid 2.0 support. Issue 4435 reports that root imports in lucide-solid still create unnecessary Vite development work, despite production tree shaking. Those reports concern the Solid package, not every Lucide target. They are still enough reason for Solid teams to test editor startup and dev-server behavior with their actual import pattern.

August pushes and 522 issues plus PRs show a busy project

GitHub recorded 24,240 stars and 522 combined issues and pull requests when we fetched the repository. The last push was August 30, 2026, one day after release 1.37.0. Much of the open queue consists of icon requests and contributions rather than software defects, so the combined count should not be read as 522 bugs. It does show the review load created by a community catalog.

Lucide is an easy default for outline icons because the catalog, framework choices, static assets, documentation, and license all reduce adoption friction. Our 57-second install and clean 45-test result support confidence in the maintainer path, while the 222-second build and 1,201 MB dependency footprint argue for scoped CI jobs. Adopt it for its visual language and coverage, then pin upgrades and inspect changed icons instead of treating artwork as inert code.

Alternatives

ProjectWhat it isPick it when
HeroiconsA smaller SVG set from the Tailwind CSS team with outline and solid styles.pick this instead when you use React or Vue and need official solid icons alongside outlines.
Tabler IconsA large MIT-licensed SVG collection with packages for many frameworks.pick this instead when its catalog or visual proportions match your interface better than Lucide's Feather-derived style.
Phosphor IconsA flexible icon family with multiple weights and filled variants.pick this instead when weight choices and duotone or filled artwork are core design requirements.

What people are saying

  1. [velocity-scout] lucide-icons/lucide

Sources

  1. Lucide README
  2. Lucide repository
  3. Lucide 1.37.0 release
  4. Lucide for React documentation
  5. Solid 2.0 support issue
  6. Solid root import performance issue

More web reviews

axios · super-productivity · Graphite · fastify · tabler · go-zero · the whole board →