# Are icon libraries like Lucide, Font Awesome and react-icons free for commercial use?

**Short answer:** Mostly yes, but the license sits on the icon set, not on the package you import. Lucide is ISC (with Feather-derived icons under MIT), Heroicons, Tabler, Phosphor and Bootstrap Icons are MIT, and Google's Material icons are Apache-2.0: all allow commercial use if you keep the license notice. Font Awesome Free icons are CC BY 4.0, which also allows commercial use, and Font Awesome says the attribution comments already in its files are enough if you don't remove them. The trap is react-icons: the package is MIT, but it bundles sets under their own licenses, including CC BY 3.0, CC BY 4.0, CC BY-SA 3.0 and MPL-2.0. Brand logos are a separate trademark question.

## Checklist
1. List which icon sets your app actually ships. With react-icons, the import path names the set (react-icons/fa, /lu, /md, /gi and so on), and each set keeps its own license.
2. Look up each set's license, not the wrapper's. react-icons' README lists them: fa and fa6 (Font Awesome 5 and 6) CC BY 4.0, gi (Game Icons) CC BY 3.0, ti (Typicons) CC BY-SA 3.0, vsc (VS Code Icons) and im (IcoMoon Free) CC BY 4.0, ci (Circum Icons) MPL-2.0, wi (Weather Icons) SIL OFL 1.1, si (Simple Icons) CC0, and MIT, ISC or Apache-2.0 for most of the rest.
3. MIT, ISC and Apache-2.0 sets: keep the copyright and license text in your shipped app, for example in a third-party notices file or an About screen. That's the main duty.
4. CC BY sets: give credit in a reasonable way for the medium (CC BY 4.0 allows a link to a page with the credit). Font Awesome Free says its downloaded files already carry enough attribution in embedded comments, and asks you not to strip them.
5. CC BY-SA 3.0 sets (Typicons in react-icons): credit them, and if you modify the icons and share the result, the modified icons must be offered under the same license. Swap them out if that's a problem.
6. Brand icons (Font Awesome brands, Simple Icons): the license covers the drawing, not the trademark. Font Awesome asks that brand logos only be used to represent the company they belong to, and Simple Icons says its CC0 doesn't mean every icon is CC0 and points to each brand's own guidelines.
7. Icon marketplaces are different. Flaticon's free license requires crediting Flaticon and the author unless you pay for Premium, and bans using icons as the main element of products made for resale (apps included) without a Merchandising License.

## License by library (checked Oct 30, 2026)
- Lucide (lucide-react 1.65.0): ISC. Its LICENSE lists the icons derived from Feather, which stay under Feather's MIT license.
- Heroicons (@heroicons/react 2.2.0), Tabler Icons (@tabler/icons-react 3.50.0), Phosphor (@phosphor-icons/react 2.1.10), Bootstrap Icons 1.13.2 and @mui/icons-material 9.5.0: MIT.
- Google Material Design Icons: Apache-2.0 (the google/material-design-icons repository).
- Font Awesome Free (@fortawesome/fontawesome-free 7.3.1, declared as CC-BY-4.0 AND OFL-1.1 AND MIT): icons in SVG and JS are CC BY 4.0, the web and desktop font files are SIL OFL 1.1 and the code is MIT. Font Awesome Pro is a separate paid license.
- Simple Icons 16.36.0: the project is CC0-1.0, but its disclaimer says individual brand icons may carry other licenses and that users must get any permissions a brand requires.
- react-icons 5.7.0: the package is MIT, and its README says icons are taken from other projects, so check each project's license.

## Why vibe-coded apps get this wrong
- AI coding tools pick an icon import that works, not one whose license you've checked. One react-icons import from the gi (Game Icons) or ti (Typicons) set brings in a CC BY or CC BY-SA duty that an MIT-only notices file won't cover.
- With per-set ES module imports, bundlers usually ship only the icons you import, so the duties follow the sets you actually use. Keeping to one or two permissive sets keeps the notices file short.

## License checks (computed)
Yes means the license grants the use, on the duties listed. Duties such as source_disclosure, share_alike and network_source_offer are the ones that conflict with keeping a product closed-source.

- **Ship Lucide icons in a paid closed-source app: Yes.** [ISC License](https://opensource.org/license/isc-license-txt) (`ISC`) Duties: attribution, license_notice. Every use you described is granted by ISC, and nothing you described is prohibited.
- **Ship Font Awesome Free SVG icons in the same app: Yes.** [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode) (`CC-BY-4.0`) Duties: attribution, license_notice, state_changes, no_additional_restrictions. Every use you described is granted by CC BY 4.0, and nothing you described is prohibited.
- **Ship modified Typicons from react-icons: Yes.** [Creative Commons Attribution-ShareAlike 3.0 Unported](https://creativecommons.org/licenses/by-sa/3.0/legalcode) (`CC-BY-SA-3.0`) Duties: attribution, license_notice, state_changes, no_additional_restrictions, share_alike. Every use you described is granted by CC BY-SA 3.0, and nothing you described is prohibited.

## Ask Rightshold (free, no key)
Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code (one-click setup: https://www.rightshold.com/start?ref=seo), then ask: "My app ships icons under ISC, MIT, CC-BY-4.0 and Apache-2.0. Can I combine them in one commercial closed-source app, and what credit do I owe?"

```json
{
  "tool": "license_compatibility",
  "arguments": {
    "licenses": [
      "ISC",
      "MIT",
      "CC-BY-4.0",
      "Apache-2.0"
    ],
    "intended_use": {
      "commercial_use": true,
      "redistribution": true
    }
  }
}
```
- Free, no key. Returns whether the licenses can be combined for that use, the reason for each pair and the combined duties.
- attribution_string (free) writes the credit line a CC BY icon set asks for, for example {"license": "CC-BY-4.0", "title": "Font Awesome Free", "author": "Fonticons, Inc.", "source_url": "https://fontawesome.com"}.
- check_rights_batch (free) checks up to 100 items at once, for example every icon package in your package.json by name or SPDX id.

_Rightshold checks the licenses you name and the license a GitHub, npm or PyPI page declares. It doesn't scan your bundle to see which icons you ship, and it doesn't clear trademarks or brand logos. Not legal advice._

## Sources
- [Lucide LICENSE (ISC, Feather-derived icons MIT)](https://github.com/lucide-icons/lucide/blob/main/LICENSE)
- [Font Awesome Free LICENSE.txt (icons CC BY 4.0, fonts OFL 1.1, code MIT, attribution, brand icons)](https://github.com/FortAwesome/Font-Awesome/blob/7.x/LICENSE.txt)
- [react-icons README (per-set license table)](https://github.com/react-icons/react-icons)
- [Heroicons LICENSE (MIT)](https://github.com/tailwindlabs/heroicons/blob/master/LICENSE)
- [Google Material Design Icons LICENSE (Apache-2.0)](https://github.com/google/material-design-icons/blob/master/LICENSE)
- [Simple Icons DISCLAIMER](https://github.com/simple-icons/simple-icons/blob/develop/DISCLAIMER.md)
- [Flaticon terms of use (Flaticon License, Merchandising License)](https://www.flaticon.com/legal)
- [Creative Commons BY 4.0 legal code (section 3, attribution)](https://creativecommons.org/licenses/by/4.0/legalcode.en)

## Related
- [How to check font licenses before shipping a web app](https://www.rightshold.com/answers/how-to-check-font-licenses-before-shipping-a-web-app)
- [How to check licenses of all npm dependencies before shipping](https://www.rightshold.com/answers/how-to-check-licenses-of-all-npm-dependencies-before-shipping)
- [Can I use CC BY 4.0 commercially?](https://www.rightshold.com/answers/can-i-use-cc-by-4-0-commercially)
- [Are Google Fonts free for commercial use?](https://www.rightshold.com/answers/are-google-fonts-free-for-commercial-use)

_Not legal advice. Updated 2026-10-30. JSON: https://www.rightshold.com/answers/are-icon-libraries-like-lucide-font-awesome-and-react-icons-free-for-commercial-use.json_