Library / SDK
dqev/reicon avatar
dqev/reicon

Reicon: a 2,700+ icon SVG library with packages for React, Vue, Svelte, Angular, Astro and Flutter

Reicon — Open-Source Icon Library for Designers & Developers

1,552 stars85 forksHTMLMIT

At a glance

What is it?
Reicon is an MIT-licensed icon library that ships the same icon set as npm packages per framework, a vanilla JavaScript build, a Figma plugin, a VS Code extension and an MCP server. The interesting part is the packaging model; the thin part is documentation outside the website.
Who is it for?
Adopt Reicon if you want one icon set delivered as a real package for your framework and you are comfortable reading the per-framework docs at reicon.dev/docs rather than the README. Do not adopt it if you need a documented upgrade policy, a versioned changelog per package, or an icon set larger than a few thousand glyphs, because the repository README does not describe any of those.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Reicon actually is, and who ends up using it

Reicon is an icon set of "2,700+ UI SVG icons" distributed under the MIT License, with a website at reicon.dev and documentation at reicon.dev/docs. The repository is a monorepo: the root package.json declares workspaces for apps/* and packages/*, and the README's package table lists ten distribution channels rather than one library. There is a vanilla package named reicon, framework wrappers named reicon-react, reicon-vue, reicon-svelte, reicon-angular, reicon-astro and reicon-react-native, a Flutter package published on pub.dev also called reicon, a Figma plugin, a VS Code extension and reicon-mcp.

That shape tells you who it is for. If you are building a product in one of those frameworks and you want icons that arrive through your existing package manager instead of as downloaded SVG files, the per-framework packages are the point. If you are a designer who works in Figma, the plugin is the entry point. The project also publishes reicon-mcp, which suggests the icons are meant to be reachable from tooling that speaks that protocol, although the README does not describe what the server exposes.

The README is a directory, not a manual. It shows badges, a package table and credits, and sends you to reicon.dev/docs for the actual usage instructions. Treat the README as an index and the website as the documentation.

How the monorepo is wired: one icon source, many builds

The root package.json is named reicon-docs and marked private, so it is the website and build tooling, not a publishable package. Its scripts reveal the pipeline. A build runs a chain of Node scripts: generate-website-search-index.mjs, sync-icon-names.mjs, scripts/seo/update-helmets.mjs, generate-sitemap.mjs, generate-llm-assets.mjs, then vite build apps/web, then prerender-meta.mjs. There are separate build scripts per target, including build:react, build:vue, build:svelte, build:angular, build:astro, build:react-native, build:js, build:figma, build:vscode and build:mcp, each pointing at a scripts/build.cjs inside its own package directory.

This is the mechanism worth understanding: the icon data lives in the repository, and each package directory contains a build script that turns it into that framework's output. The sync:icons script and validate:icons script suggest icon names are generated and checked rather than hand-maintained. For a consumer this matters in one practical way. The framework packages are generated artifacts, so a fix to an icon flows through a rebuild of every package, and the npm versions of reicon-react, reicon-vue and the rest can drift apart if only some targets are rebuilt for a release.

The repository also carries a data/ directory and a scripts/ directory at the top level, which is consistent with a single source of icon data feeding many outputs. The README does not document that data format, so anyone wanting to add icons will need CONTRIBUTING.md.

Installing reicon-react and rendering a first icon

The README points React users at the docs page reicon.dev/docs/react and the source directory packages/reicon-react. The package name is reicon-react, and it is published on npm. The README does not print an install command or a usage example for it, so there is no code to copy here; the install line and the import line both live on reicon.dev/docs/react, and that page is the authoritative source for the exact package manager command, the export names and the prop list.

What the README does give you is the entry point for finding icons. It links reicon.dev/icons as "Browse icons", which is the searchable set. Because the icon set is large and the README does not print an export list, that search is the practical way to find the right name before you write the import.

If you are not using a framework wrapper, the vanilla package is named reicon and the README links reicon.dev/docs/vanilla. There is also a CDN build under packages/reicon/dist/cdn/reicon.js, and a root script build:cdn:min that runs terser over that file, so a browser build is part of the release process. The README does not document the CDN script tag or the global name it exposes, so read the vanilla docs page before wiring it into a static page.

The same pattern holds for the other targets. The README lists reicon-vue, reicon-svelte, reicon-angular, reicon-astro, reicon-react-native and reicon-flutter with a docs link each, and the Flutter package is published on pub.dev under the name reicon. If your framework is not in that table, the vanilla package is the fallback, and the icons are plain SVG underneath.

Where Reicon is the wrong choice

The README does not document a deprecation or upgrade policy for the icon set. If an icon is renamed or removed, the sync-icon-names and validate-icons scripts will keep the build honest, but nothing in the README tells you how consumers are warned. In a large codebase, an icon rename that lands in a minor version is a compile error in React and a silent blank in a template-driven framework. Pin the version and read CHANGELOG.md before bumping.

The second limitation is provenance. The credits section states that "Reicon base icons are built using elements from" Solar Icons, designed by 480 Design under CC BY 4.0, and from Zappicon. Reicon's own LICENSE is MIT, but that does not erase the upstream attribution requirement for the base icons. If your legal review treats icon provenance strictly, read LICENSE and the credits together before shipping, and do not assume the MIT label alone settles the question.

The third is scope. 2,700+ UI icons is a focused set, not a general-purpose illustration library. The release history shows the project has also shipped a separate illustration library (v1.2.0 is titled "71,000+ Free SVG Illustrations Library"), but the README in this repository describes icons, not illustrations, so do not plan around illustrations being part of the packages listed here. If your product needs brand marks, flags or detailed pictograms, this set will run out.

Finally, the documentation lives on the website. If you need offline docs, an API reference in the repository, or a typed export list you can read without leaving your editor, the README will not give it to you.

The realistic alternative, and how the approach differs

The obvious comparison is an icon set that ships as a single package with a generic component, where you pass the icon name as a prop and the bundler tree-shakes what you use. That model keeps one version number for every framework and one documentation page for all of them. Reicon goes the other way: it publishes reicon-react, reicon-vue, reicon-svelte, reicon-angular, reicon-astro and reicon-react-native as separate packages, each with its own build script and its own npm version.

The trade-off is concrete. Per-framework packages can produce idiomatic output for each framework, and the repository layout backs this up with a build.cjs per package and a per-target npm script. The cost is that you now track several versions if your stack spans more than one framework, and the icon data is duplicated into each package rather than resolved at build time from one shared entry point. A monorepo with a React app and a React Native app, for example, would install reicon-react and reicon-react-native and would need to confirm both are on the same icon revision before the two apps look consistent.

If your team already standardises on one icon set for design and code, the difference that matters is not the glyphs but the release cadence. Reicon's cadence is visible in the release list: v1.1.1, v1.2.0 and v1.5.0 within roughly two months. That is frequent enough that pinning is not optional.

Maintenance, licence and what an upgrade costs you

The repository is not archived, and the last push was on 2026-09-15, three days before this writing, so the project is being worked on now. The most recent release is v1.5.0 from 2026-09-05, titled "Pure SVG Icon Library Focus", which reads as a narrowing of scope back toward icons after the illustration release in v1.2.0. A scope reversal between v1.2.0 and v1.5.0 is the kind of thing that makes a changelog worth reading before you upgrade, and CHANGELOG.md is present at the top level.

The upgrade cost is mostly mechanical: bump the package, re-run your build, and fix any icon names that no longer resolve. Because the packages are generated by per-target build scripts, a release that touches only some targets can leave reicon-react ahead of reicon-vue. Check the npm version of each package you depend on rather than assuming they moved together.

On licensing: the repository LICENSE is MIT, and the README states the software is "totally free for commercial use and personal use". The credits section separately names Solar Icons (CC BY 4.0) and Zappicon as sources for base icons. This is not legal advice, and the README does not spell out how the upstream attribution is satisfied in the distributed packages, so if attribution obligations matter to your organisation, that is a question to put to the maintainers through the channels in CONTRIBUTING.md before you ship.

Editorial conclusion

Adopt Reicon if you want one icon set delivered as a real package for your framework and you are comfortable reading the per-framework docs at reicon.dev/docs rather than the README. Do not adopt it if you need a documented upgrade policy, a versioned changelog per package, or an icon set larger than a few thousand glyphs, because the repository README does not describe any of those. Before installing anything, open the docs page for your framework and check which package name it tells you to install, since the README lists ten packages and the root package.json is the docs site, not the library.

Frequently asked questions

How do I use Reicon in a project?

Install the package for your framework, such as reicon-react or reicon-vue, and import the icon components from it. The README links a documentation page per framework at reicon.dev/docs, and points to reicon.dev/icons for browsing the set. For plain JavaScript there is a package named reicon with docs at reicon.dev/docs/vanilla.

Is Reicon safe to use?

The repository is MIT-licensed and the README states it is free for commercial and personal use. The credits note that base icons are built using elements from Solar Icons (CC BY 4.0) and Zappicon, so provenance is documented rather than hidden. Nothing in the README describes a security review, so treat that as an open question for your own process.

What is a Reicon alternative?

The main structural alternative is an icon library that ships one package and one generic component for all frameworks, which keeps a single version number across your stack. Reicon instead publishes separate packages such as reicon-react, reicon-vue, reicon-svelte, reicon-angular, reicon-astro and reicon-react-native, each built by its own script and versioned on npm separately.

How do I restore my desktop icons?

That is a desktop operating system question and Reicon does not address it. Reicon is a web and app icon library distributed through npm, pub.dev, a Figma plugin, a VS Code extension and an MCP server, so it has no bearing on desktop icon settings.

Official sources

  1. dqev/reicon on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes