reicon-vue

Vue 3 icon components for 2676+ icons in 2 weights (Outline & Filled). Tree-shakeable, TypeScript-ready.
5,493 1,718
Install
npm install reicon-vue
Latest Version:1.1.104
Vue:3
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  npm
Maintainer: dev-

Reicon Vue is the official Vue 3 package for Reicon — a free, open-source SVG icon library featuring 2676+ 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/docs/figma

Install

npm i reicon-vue
# or
bun add reicon-vue
# or
yarn add reicon-vue
  • Vue ≥ 3.0 (Composition API)
  • No other dependencies required.

Usage

Basic

<script setup>
import { Home, ShieldCheck, AltArrowDown } from 'reicon-vue';
</script>

<template>
  <div>
    <Home />
    <ShieldCheck :size="32" color="#d97757" />
    <AltArrowDown weight="Filled" />
  </div>
</template>

Weights

Every icon ships in two weights — Outline (default) and Filled:

<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-vue/icons/Home';
import ShieldCheck from 'reicon-vue/icons/ShieldCheck';

All SVG attributes are supported

Pass any standard SVG attribute — class, style, onClick, aria-*, etc.:

<Home
  :size="48"
  color="red"
  class="my-icon"
  :style="{ marginRight: 8 }"
  @click="console.log('clicked')"
  aria-label="Home"
/>

Props

Prop Type Default Description
size `number string` 24
color string — Primary icon stroke/fill color. Leave unset to use CSS class.
weight `'Outline' 'Filled'` 'Outline'
strokeWidth `number string` —
class `string array object`
style `string array object`

Any valid SVG attribute (e.g. id, aria-*) is forwarded to the underlying <svg> element.


Tree-shaking

Every icon is a standalone ES module. Modern bundlers — Vite, Webpack, Rollup, esbuild — automatically tree-shake unused icons, keeping only what you import.

// ✅ Only Home is included in your production bundle
import { Home } from 'reicon-vue';

// ✅ Even smaller — direct path import skips the barrel file entirely
import Home from 'reicon-vue/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

Browse and search all 2676+ 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-vue';

const weight: IconWeight = 'Filled';
const props: IconProps = { size: 32, color: '#d97757', weight };

Exported types

Type Description
IconProps Combined icon props + Vue SVG attributes
IconWeight `'Outline'

Features

  • 2676+ 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 Vue itself
  • TypeScript-ready — Full type declarations included, no extra packages needed
  • SVG attribute passthrough — All standard SVG props (class, style, 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 React components for 2676+ icons.
reicon-vue You are here. Vue 3 components for 2676+ icons.
reicon-svelte Svelte components for 2676+ icons.

Links


License

MIT © Dev Chauhan

Free to use in personal and commercial projects. Attribution is appreciated but not required.

Related Packages

@hugeicons/vue

Hugeicons Vue Component Library https://hugeicons.com

278,917 1,219
@devigner-ui/icons-vue

8,588 open-source icons for Vue 3: 2,147 symbols, each in outline, twotone, bold...

735 16
vadivam-vue

Pixel-perfect 24px outline icon components for Vue with tree-shakeable imports.

4,635 12
@softicons/vue

Softicons for Vue 3 — tree-shakeable SVG icon components.

542

Version History

Version Released License
1.1.104 MIT
1.1.103 MIT
1.1.102 MIT
1.1.101 MIT
1.1.2 MIT