Icons for React, drawn in six styles.
Every icon sits on one 24px grid, so every screen matches. Browse the catalog free, then unlock SVG and the private npm package.
Features
One icon set,for design and code.
Pick a style, install the package, and stop hunting for SVGs. Every icon follows the same rules, so new screens match the old ones.
Every icon comes in six styles. Broken, Line Duotone, Linear, Outline, Bold and Bold Duotone. Keep one across the app, or mix them where a screen needs it.
- Broken
- Line Duotone
- Linear
- Outline
- Bold
- Bold Duotone
Same access. Two ways to pay.
Lifetime or subscription, you get SVG and the npm token either way. A refund or a lapsed subscription turns both off.
Only icons
- SVG downloads on the site
- Private npm install
- React components
- Every uploaded style
- SVG downloads on the site
- Private npm install
- React components
- Every uploaded style
- Figma source file
- SVG downloads on the site
- Private npm install
- React components
- Every uploaded style
- Pay once, keep access
- Figma source file
Questions, answered.
Not sure yet? Look through the free catalog first and decide once you've found what you need.
What can I use for free?
The whole catalog. Browse and search every icon as a PNG without a plan.
What does a plan unlock?
SVG downloads on the site and a token for the private npm package, with every style that was uploaded for each icon.
What's the difference between lifetime and a subscription?
Access is the same. Lifetime is paid once. A subscription keeps access on while it's active; if it lapses, SVG and the npm token turn off until you renew.
What happens if I get a refund?
The plan's SVG access and npm token are turned off.
Does every icon come in all six styles?
Each icon ships in the styles that were uploaded for it, up to six: Broken, Line Duotone, Linear, Outline, Bold and Bold Duotone.
Can I set one style for the whole app?
Yes. Wrap the app in IconProvider with a weight, then pass weight on any single icon to override it.
Where does the npm token live?
In your project's .npmrc, read from an environment variable. It never ends up in a browser bundle.