reicon-react
v1.1.3
Published
React icon components for 2680+ icons in 2 weights (Outline & Filled). Tree-shakeable, TypeScript-ready.
Maintainers
Readme
Reicon React is the official React package for Reicon — a free, open-source SVG icon library featuring 2680+ handcrafted, grid-aligned icons. Every component is tree-shakeable, fully TypeScript-ready, and ships with zero dependencies.
| 🔗 Resource | Link | |---|---| | 🌐 Website & icon browser | reicon.dev | | 📖 Documentation | reicon.dev/docs | | 📦 Core package (vanilla JS) | reicon | | 🎨 Figma plugin | reicon.dev/usage/figma |
Install
npm i reicon-react
# or
bun add reicon-react
# or
yarn add reicon-react- React ≥ 16.8 (Hooks-compatible)
- No other dependencies required.
Usage
Basic
import { Home, ShieldCheck, AltArrowDown } from 'reicon-react';
function App() {
return (
<div>
<Home />
<ShieldCheck size={32} color="#d97757" />
<AltArrowDown weight="Filled" />
</div>
);
}Weights
Every icon ships in two weights — Outline (default) and Filled:
import { Home } from 'reicon-react';
<Home /> {/* Outline (default) */}
<Home weight="Filled" /> {/* Filled */}Sizing & coloring
<Home size={32} /> {/* 32×32px */}
<Home size={48} color="#d97757" /> {/* Custom size and color */}
<Home color="currentColor" /> {/* Inherits parent text color */}Direct icon import (smallest bundle)
For the absolute minimum bundle size, import icons directly from the sub-path:
import Home from 'reicon-react/icons/Home';
import ShieldCheck from 'reicon-react/icons/ShieldCheck';All SVG attributes are supported
Pass any standard SVG attribute — className, style, onClick, aria-*, etc.:
<Home
size={48}
color="red"
className="my-icon"
style={{ marginRight: 8 }}
onClick={() => console.log('clicked')}
aria-label="Home"
/>Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| size | number | string | 24 | Icon width & height (number = px) |
| color | string | currentColor | Primary icon stroke/fill color |
| secondaryColor | string | same as color | Secondary (accent) fill color |
| weight | 'Outline' | 'Filled' | 'Outline' | Icon style variant |
| strokeWidth | number | string | — | Override the default stroke width |
| className | string | — | Additional CSS class on the element |
Any valid SVG attribute (e.g. style, onClick, id, aria-*) is forwarded to the underlying element.
Tree-shaking
Every icon is a standalone ES module. Modern bundlers — Vite, Webpack, Rollup, esbuild, Next.js, Remix — automatically tree-shake unused icons, keeping only what you import.
// ✅ Only Home is included in your production bundle
import { Home } from 'reicon-react';
// ✅ Even smaller — direct path import skips the barrel file entirely
import Home from 'reicon-react/icons/Home';The package is marked "sideEffects": false for optimal dead-code elimination.
Icon Names
Icons use PascalCase, derived from their original kebab-case file names:
| Original name | PascalCase import |
|---------------|-------------------|
| home | Home |
| shield-check | ShieldCheck |
| alt-arrow-down | AltArrowDown |
| shopping-cart | ShoppingCart |
| user-circle | UserCircle |
| arrow-right-up | ArrowRightUp |
Browse and search all 2680+ icons at reicon.dev.
TypeScript
Full type declarations ship with the package — no separate @types/ installation needed.
import { Home, type IconProps, type IconWeight } from 'reicon-react';
const weight: IconWeight = 'Filled';
const props: IconProps = { size: 32, color: '#d97757', weight };
<Home {...props} />Exported types
| Type | Description |
|------|-------------|
| IconProps | Combined icon props + React SVG attributes |
| IconWeight | 'Outline' | 'Filled' |
| IconComponent | Signature of any icon component |
Features
- 2680+ icons — Handcrafted, pixel-perfect SVGs across a wide range of categories
- Two weights — Outline and Filled, with consistent 24×24 grid alignment
- Tree-shakeable — Import only what you use; every icon is a standalone ES module
- Zero dependencies — No runtime overhead beyond React itself
- TypeScript-ready — Full type declarations included, no extra packages needed
- SVG attribute passthrough — All standard SVG props (
style,onClick,aria-*, etc.) are forwarded - MIT licensed — Free for personal and commercial use
Related packages
| Package | Description |
|---------|-------------|
| reicon | Core vanilla JS + CDN runtime. No framework required. |
| reicon-react | You are here. React components for 2680+ icons. |
| reicon-vue | Vue 3 components for 2680+ icons. |
| reicon-svelte | Svelte components for 2680+ icons. |
Links
- 🌐 Website: reicon.dev
- 📖 Documentation: reicon.dev/docs
- 📦 npm: npmjs.com/package/reicon-react
- 🐙 GitHub: github.com/dqev/reicon
- 🐛 Issues: github.com/dqev/reicon/issues
License
MIT © Dev Chauhan
Free to use in personal and commercial projects. Attribution is appreciated but not required.
