Vue 3 icon library built from Boxicons SVG files with full tree-shaking support.
npm install @boxicons/vue
# or
yarn add @boxicons/vue
# or
pnpm add @boxicons/vue<script setup>
import { Alarm, Twitter, Home } from '@boxicons/vue';
</script>
<template>
<Alarm />
<Twitter />
<Home />
</template>- basic - Outline/regular style icons (default)
- filled - Solid/filled style icons
- brands - Brand/logo icons
<template>
<Alarm />
<Alarm pack="filled" />
</template><template>
<Alarm size="xs" /> <!-- 16px -->
<Alarm size="sm" /> <!-- 20px -->
<Alarm size="base" /> <!-- 24px (default) -->
<Alarm size="md" /> <!-- 36px -->
<Alarm size="lg" /> <!-- 48px -->
<Alarm size="xl" /> <!-- 64px -->
<Alarm size="2xl" /> <!-- 96px -->
<Alarm size="3xl" /> <!-- 128px -->
<Alarm size="4xl" /> <!-- 256px -->
<Alarm size="5xl" /> <!-- 512px -->
</template><template>
<Alarm :width="32" :height="32" />
<Alarm width="2rem" height="2rem" />
</template><template>
<Alarm fill="#ff0000" />
<Alarm fill="currentColor" />
</template><template>
<Alarm :opacity="0.5" />
</template><template>
<Alarm flip="horizontal" />
<Alarm flip="vertical" />
</template><template>
<Alarm :rotate="45" />
<Alarm rotate="90deg" />
</template><template>
<Alarm remove-padding />
</template><template>
<Alarm
pack="filled"
fill="#ffffff"
:opacity="0.8"
size="lg"
flip="horizontal"
:rotate="45"
class="my-icon"
/>
</template>Only imported icons are bundled:
// ✅ Only Alarm is bundled
import { Alarm } from '@boxicons/vue';- 1884 basic (outline) icons
- 1884 filled icons
- 295 brand icons
import type { BoxIconProps, IconPack, IconSize, FlipDirection } from '@boxicons/vue';MIT