Icons

Lucide vs Heroicons

Lucide Icons and Heroicons are two of the most widely used open-source icon sets. Both are free, both ship framework packages, and both will look perfectly reasonable in a product UI — which is exactly why the choice is annoying. This page puts the two side by side using the actual artwork and the real numbers.

The short answer

  • Lucide Icons is the broader set: 1,979 icons against 1,297 in Heroicons — roughly 53% more coverage, which matters most if you build interfaces that need unusual glyphs.
  • Heroicons gives you more visual range: 2 variants per concept (outline and solid), where Lucide Icons ships 1.
  • Both are ISC, so licensing is not a deciding factor here.

Specifications compared

Specification comparison
 Lucide IconsHeroicons
Icons1,9791,297
Visual variants per concept1 — outline only2 — outline and solid
Design grid24×2416/20/24
LicenseISCMIT
Attribution requiredNoNo
Official React packagelucide-react@heroicons/react

Same icons, both libraries

Every pair below is the same concept rendered from each library's own source files. This is the part you cannot get from a written review — the difference in stroke weight, corner rounding and optical size is the thing you will actually notice in your interface.

Lucide IconsHeroicons 
home
search
settings
user
heart
star
cart
bell
mail
calendar

Which one should you choose?

Pick Lucide Icons when

SaaS dashboards, developer tools, documentation sites, and any product that wants a calm, neutral, geometric icon language. Lucide is particularly strong in dense interfaces because its uniform stroke weight stays legible at 16px and 20px.

Consider otherwise if: If you need multiple weights from one library, Phosphor offers six. If you need filled icons, IconPark Solid or Material Design Icons are better choices, since Lucide is outline-only.

Pick Heroicons when

Tailwind CSS projects of any size, and teams that want their icons styled with the same utilities as the rest of their markup. The three drawn sizes also make Heroicons a good fit for interfaces with a strict type and spacing scale.

Consider otherwise if: Outside the Tailwind ecosystem the utility-class ergonomics matter less, and Lucide or Tabler give you more icons. For dense 15px-scale interfaces, Radix Icons is drawn specifically for that.

Coverage

Lucide Icons contains 1,979 icons and Heroicons contains 1,297. Lucide began as a fork of Feather Icons when Feather's release cadence slowed and community pull requests began to pile up. Rather than let the project stall, contributors created Lucide with an explicit commitment to community governance and regular releases. It has since grown well past its parent: 1,979 icons against Feather's 286.

Heroicons is made by the team behind Tailwind CSS, and it is designed to drop straight into Tailwind projects. The 1,297 icons ship in outline and solid variants, each available at 16px, 20px, and 24px — three sizes that are drawn separately rather than scaled, so optical weight stays correct at each one.

Licensing

Lucide Icons is released under ISC. Functionally equivalent to MIT — no attribution required.

Heroicons is released under MIT. Commercial use, modification and redistribution with no attribution required.

Using them from IconStash

You do not have to commit to one. IconStash indexes both libraries, so you can search a concept once and see how each set drew it, then export SVG or PNG at any size and colour. Start with Lucide Icons or Heroicons, or browse every library comparison.

Frequently asked questions

Is Lucide or Heroicons better for React projects?

Both have first-party React packages: lucide-react and @heroicons/react. Lucide has the larger catalogue, so for a React app the practical difference is coverage and visual style rather than integration effort. Both tree-shake, so bundle size tracks the number of icons you import, not the size of the library.

Which has more icons, Lucide or Heroicons?

Lucide Icons has 1,979 icons and Heroicons has 1,297. Lucide Icons is larger by about 53%. Raw count is not the whole story though — a 20,000-icon set with many near-duplicate variants can be slower to search than a tightly edited 2,000-icon set.

Can I mix Lucide and Heroicons in one interface?

You can, but it usually looks wrong. Each library draws to its own grid and stroke weight — Lucide uses 24×24 and Heroicons uses 16/20/24 — so icons from both sit slightly differently next to each other. If you must mix them, keep each library to a distinct area of the interface rather than interleaving them in the same toolbar.

What licenses do Lucide and Heroicons use?

Lucide Icons is ISC: Functionally equivalent to MIT — no attribution required. Heroicons is MIT: Commercial use, modification and redistribution with no attribution required. Neither requires payment, but attribution rules differ, so check before shipping in a product where credit is inconvenient.

Do Lucide and Heroicons include filled and outline versions?

Lucide Icons offers outline only; Heroicons offers outline and solid. If you need to express selected and unselected states with the same glyph, the library with more variants saves you from importing a second set.

Which is better for small sizes like 16px?

At 16px, stroke weight and counter size matter more than coverage. Lucide draws on a 24×24 grid and Heroicons on 16/20/24. Libraries that redraw per size rather than scaling — such as Fluent UI — generally hold up best. The reliable test is to preview both at your actual render size, which you can do on any icon page on IconStash.