Browse and export 47,000+ icons optimized for React projects. Get React component code, raw SVG, or download as PNG/WebP. Copy-paste ready.
React is the most popular UI library, and icon packages like react-icons, lucide-react, and @heroicons/react are the standard approach. But they add dependencies, increase bundle size, and require tree-shaking configuration. IconFontToPNG lets you skip all that — search an icon, click, and get a standalone JSX component you can paste directly into any React project.
What you get when you copy an icon from IconFontToPNG:
const IconArrowRight = () => (
<svg width="24" height="24" fill="#52c41a" viewBox="0 0 512 512">
<path d="M502.6 278.6c12.5-12.5..."/>
</svg>
);
export default IconArrowRight;For React, Lucide (lucide-react) and Phosphor (@phosphor-icons/react) offer the best DX with tree-shaking and TypeScript. Heroicons (@heroicons/react) is ideal for Tailwind projects. But if you only need a few icons, a standalone JSX component from IconFontToPNG is the lightest option.
| Library | Icons | React Package | Tree-shakeable |
|---|---|---|---|
| Lucide | ~1,500 | lucide-react / lucide-vue-next | Yes |
| Heroicons | ~450 | @heroicons/react / @heroicons/vue | Yes |
| Phosphor | ~7,500 | @phosphor-icons/react / vue | Yes |
| Font Awesome | ~2,000 | @fortawesome/react-fontawesome | Yes |
| Bootstrap Icons | ~2,000 | react-bootstrap-icons | Yes |
| Tabler | ~5,000 | @tabler/icons-react / vue | Yes |
| Ionicons | ~1,300 | @ionic/react (built-in) | Partial |
| Remix Icon | ~2,800 | remixicon-react | Yes |