Lightweight SVG icon collection for React with zero dependencies

✅ 13+ Essential Icons (Arrow, Calendar, Chat, Check, etc.)
✅ React Components & Raw SVG files
✅ Customizable via props (size, color, className)
✅ Tree-shakable - import only what you need
✅ TypeScript Support out of the box
✅ Works with Vite, Next.js, CRA, Gatsby
npm install svg-by-dreamsoftware
# or
yarn add svg-by-dreamsoftware
import { Search, Profile } from 'svg-by-dreamsoftware/icons-react-dist';
export default function App() {
return (
<div>
<Search width={24} fill="#3b82f6" />
<Profile className="icon-profile" />
</div>
);
}
Prop | Type | Default | Description |
---|---|---|---|
width |
number | 24 | Icon width in px |
height |
number | 24 | Icon height in px |
fill |
string | currentColor | Color value |
className |
string | - | Custom CSS class |
style |
object | - | Inline styles |
<Calendar width={32} height={32} fill="#10b981" />
<Settings className="icon-settings" />
.icon-settings {
color: #f59e0b;
transition: all 0.3s ease;
}
.icon-settings:hover {
color: #ef4444;
transform: rotate(45deg);
}
import calendarIcon from 'svg-by-dreamsoftware/icons-svg-dist/calendar.svg';
Import only needed icons to reduce bundle size:
import Search from 'svg-by-dreamsoftware/icons-react-dist/Search';
// Instead of:
// import { Search } from 'svg-by-dreamsoftware/icons-react-dist';
A: Open an issue with your icon request or submit a PR!
A: Yes! Use the raw SVG files from icons-svg-dist
folder.
A: Make sure your SVG uses fill="currentColor"
and you're applying color via CSS or fill
prop.
- Animate icons using CSS transitions
- Combine with Tailwind for quick styling
- Lazy load icons for better performance
- Use CSS variables for theme support
We welcome contributions! Please follow these steps:
- Fork the repository
- Add your new icons to
/src
folder - Run
npm build
- Submit a PR
See our contribution guide for details.
MIT © Dmitriy Gordienko
If you find this useful, please consider:
- GitHub Star
- Donate via Donationalerts
- Share with your colleagues