60+ hand-crafted SVG icons for React, Vue, Svelte and Vanilla JS. Tree-shakeable, accessible, fully typed — zero config.
60+
Icons
10
Categories
2
npm Packages
~1kb
Per icon gzipped
MIT
License
// packages
Two Packages. One System.
Iconora ships as two separate npm packages so you only install what you need.
@iconora/core
v1.0.0
The framework-agnostic foundation. Ships raw SVG path data, icon metadata, search utilities and TypeScript types. Zero dependencies — works in any JavaScript environment.
$ npm install @iconora/core
Zero depsTypeScriptESM + CJSTree-shakeable
// use this for
Vue, Svelte, Angular projects
Vanilla HTML / plain JavaScript
Node.js scripts and tools
Building your own framework adapter
@iconora/react
v1.0.0
Production-grade React components built on top of @iconora/core. Named exports, a generic Icon component, forwardRef, memo, full a11y, and TypeScript inference on every prop.
$ npm install @iconora/react
React 17+Next.jsRemixforwardRefmemo
// use this for
React 17+ applications
Next.js and Remix projects
Named imports for best tree-shaking
Dynamic icon names at runtime
// compatibility
Works Everywhere.
@iconora/core is pure SVG data — use it in any framework, any environment.
⚛️
React
@iconora/react
Full support
💚
Vue
@iconora/core
Via core
🧡
Svelte
@iconora/core
Via core
🌐
Vanilla JS
@iconora/core
Via core
// browse
Every Icon
Click any icon to copy its React import. Search by name or tag.
// usage
Simple API
Examples for every package. Switch between React and core below.
// Named import — best tree-shakingimport { HomeIcon, SearchIcon } from'@iconora/react';
export functionNav() {
return (
<nav><HomeIconsize={24}/><SearchIconsize={20}color="#3b82f6"strokeWidth={1.5}/></nav>
);
}
Import only icons you use. sideEffects:false and proper ESM exports mean zero dead code in your bundle.
Accessible by default
Decorative icons get aria-hidden. Pass label and get aria-label + role="img" automatically.
TypeScript first
Full type inference on every prop. Generated .d.ts files. Autocomplete in every editor.
Framework-agnostic
@iconora/core has zero dependencies. Works in React, Vue, Svelte, Angular, or plain JavaScript.
Consistent design
Every icon on a 24×24 grid. Identical stroke widths, cap styles, and optical weight throughout.
MIT Licensed
Free forever. Use in personal and commercial projects. No attribution required.
// faq
Frequently Asked Questions
Everything you need to know about Iconora.
What is Iconora?
Iconora is a free, open-source SVG icon library with 60+ hand-crafted icons. It ships as two npm packages: @iconora/core (framework-agnostic SVG data) and @iconora/react (React components). All icons are MIT licensed and free to use in any project.
How do I install Iconora?
Run npm install @iconora/react for React projects, or npm install @iconora/core for Vue, Svelte, Angular or Vanilla JS. Both packages support ESM and CommonJS.
Does Iconora work with Next.js?
Yes! @iconora/react works perfectly with Next.js (both App Router and Pages Router), Remix, Vite, Create React App, and any other React-based framework.
Is Iconora tree-shakeable?
Yes. Both packages have sideEffects: false and proper ESM exports. When you import HomeIcon, only that icon's code is included in your bundle. All other icons are completely removed at build time.
Can I use Iconora with Vue or Svelte?
Yes! Install @iconora/core and use the raw SVG path data to build your own icon component in any framework. The core package has zero dependencies and works anywhere JavaScript runs.
Is Iconora free for commercial use?
Yes, Iconora is MIT licensed. You can use it in personal projects, commercial products, SaaS apps, and client work — completely free with no attribution required.