How to choose an icon set for your project
Updated · 6 min read
A consistent icon set makes an interface feel designed; a mix of three sets makes it feel assembled. With hundreds of free sets available, the choice is less about finding icons and more about finding the one set that covers your needs, matches your style and has a license you can live with. Here is a quick way to decide.
1. Check coverage first
List the 15 to 20 icons your product needs most (home, search, settings, user, upload, trash, edit, close, chevrons, alerts…) plus a few domain-specific ones such as invoice, stethoscope or git branch. Then search for each one inside the candidate set. A set that lacks two of your key icons will force you to mix in another set later, and mismatched icons are the most common visual inconsistency in interfaces.
Size helps but isn't everything: Material Design Icons has 7,447 icons and Fluent UI System Icons 19,850, while Heroicons has 1,288 carefully chosen ones. For a marketing site, a small set may be plenty; for a complex dashboard, you'll value depth.
2. Pick a style: outline, filled or duotone
- Outline (stroke) icons look light and modern and suit most interfaces. Examples: Lucide, Tabler Icons.
- Filled (solid) icons are more legible at small sizes and for active states. Examples: Material Design Icons, Bootstrap Icons (which also has outline versions).
- Sets with several weights let you use outline for idle and filled for selected states without changing families. Phosphor has six weights, from thin to duotone. Material Symbols offers outlined, rounded and sharp styles. Heroicons and Fluent pair outline with solid.
- Multicolor icons add personality to illustrations, onboarding and empty states, but are harder to theme. Browse UI multicolor icons.
Match the icon style to your typography. Thin strokes pair with light, geometric fonts, and heavier icons with bold UI text.
3. Match grid size and stroke weight
Icons are drawn on a grid, most often 24×24 pixels. Icons look sharpest when displayed at their grid size or a multiple of it, so pick a set designed for the size you actually use:
- UI 24px sets fit buttons, menus and navigation, which is the most common case.
- 16px and 32px sets suit dense tools and large touch targets respectively.
Each set page shows its grid size. If you combine icons with text, also check the stroke weight: a 1.5px stroke next to regular text weight looks balanced, and a 2px stroke suits medium or bold text.
4. Check the license
Most sets allow commercial use, but conditions differ. MIT, ISC and Apache 2.0 only ask you to include the license text, while CC BY requires a visible credit. A few sets forbid commercial use altogether. Each category page has a license table, and the icon licenses guide explains every license.
5. Prefer maintained sets
An actively maintained set gets new icons as needs appear (new brands, new UI patterns) and fixes to existing ones. Sets in the archive / unmaintained category still work, but you'll be on your own when you need a new icon. Also check the ecosystem: popular sets have official packages for React, Vue and other frameworks, and design files for Figma.
Recommendations by use case
| You're building… | Consider | Why |
|---|---|---|
| A modern web app or SaaS | Lucide, Tabler | Clean outline style, large and growing, permissive licenses (ISC, MIT) |
| An app with active/inactive states | Phosphor, Heroicons | Matching outline and filled weights |
| An Android or Material UI app | Material Symbols, Material Design Icons | Matches Material Design; Apache 2.0 |
| A Microsoft-style or enterprise app | Fluent UI System Icons, Carbon | Very large coverage, designed for dense business UIs |
| A Bootstrap site | Bootstrap Icons | Designed alongside Bootstrap; MIT |
| Brand and social logos | Simple Icons, SVG Logos | Monochrome and full-color logos; CC0 |
| Tech stack sections | Devicon, VS Code Icons | Languages, frameworks and file types |
| Emoji | Noto Emoji, Twitter Emoji | Complete emoji coverage; Apache 2.0 / CC BY 4.0 |
| Country pickers | Circle Flags, Flag Icons | Round or rectangular flags; MIT |
Still undecided? Open two candidates side by side, search both for your ten most important icons, and put them in a real screen of your product. The better choice is usually obvious within minutes. When you're ready, the SVG icon usage guide shows how to add them to HTML, React or Vue.