@vezham/icons-vue

Vue icon components for Vezham.
Install
npm install @vezham/icons-vue
Latest Version:1.0.7
Vue:3
License:MIT
Last Updated:Sep 4, 2026
Links: GitHub  ·  npm
Maintainer: vx-bot

Vezham Vue — SVG Icon Library for Vue 3

npm version npm downloads MIT License Documentation GitHub

Vezham Vue

1273+ pixel-perfect SVG icons • outline, filled, duotone-outline, and duotone-filled weights • Vue 3 component wrapper • Zero dependencies • MIT Licensed

Install • Usage • Props • Tree-shaking • Icon Names • TypeScript

Vezham Vue is the official Vue 3 package for Vezham — a free, open-source SVG icon library featuring 1273+ handcrafted, grid-aligned icons. Every component is tree-shakeable, fully TypeScript-ready, and ships with zero dependencies.

🔗   Resource Link
🌐   Website & icon browser vezham.com
📖   Documentation vezham.com/docs
📦   Core package (vanilla JS) vezham
🎨   Figma plugin vezham.com/docs/figma

Install

npm i @vezham/icons-vue
# or
bun add @vezham/icons-vue
# or
yarn add @vezham/icons-vue
Requirements
  • Vue ≥ 3.0 (Composition API)
  • No other dependencies required.

Usage

Basic

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

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

Weights

Every icon ships in four weights — outline, filled, duotone-outline, and duotone-filled:

<Home />                     <!-- outline (default) -->
<Home weight="filled" />     <!-- filled -->
<Home weight="duotone-outline" />
<Home weight="duotone-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 '@vezham/icons-vue/icons/Home';
import ShieldCheck from '@vezham/icons-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' 'duotone-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 '@vezham/icons-vue';

// ✅ Even smaller — direct path import skips the barrel file entirely
import Home from '@vezham/icons-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 1273+ icons at vezham.com.


TypeScript

Full type declarations ship with the package — no separate @types/ installation needed.

import { Home, type IconProps, type IconWeight } from '@vezham/icons-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

  • 1273+ icons — Handcrafted, pixel-perfect SVGs across a wide range of categories
  • Four weights — outline, filled, duotone-outline, and duotone-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

Package Description
vezham Core vanilla JS + CDN runtime. No framework required.
@vezham/icons-react React components for 1273+ icons.
@vezham/icons-vue You are here. Vue 3 components for 1273+ icons.
@vezham/icons-svelte Svelte components for 1273+ icons.


License

MIT © Dev Chauhan

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

Related Packages

reicon-vue

Vue 3 icon components for 2676+ icons in 2 weights (Outline & Filled). Tree-shak...

5,493 1,718
@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.

421

Version History

Version Released Vue License
1.0.7 ^3.0.0 MIT
1.0.6 ^3.0.0 MIT
1.0.5 ^3.0.0 MIT
1.0.4 ^3.0.0 MIT
1.0.3 ^3.0.0 MIT