@maz-ui/icons
| Install | |
|---|---|
npm install @maz-ui/icons |
|
| Latest Version: | 5.0.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 21, 2026 |
| Links: | GitHub · npm |
@maz-ui/icons
A comprehensive collection of 860+ SVG icons for your Vue / Nuxt apps. Each icon ships in three flavors — pick the one that fits the situation.
Installation
pnpm add @maz-ui/icons
Three formats — pick what you need
raw/ — raw SVG string (lightest, recommended for inline icons)
The icon is a string containing the pre-processed SVG markup (width/height set to 1em, fills replaced by currentColor). Use it via <MazIcon :icon="MazStar" /> — no Vue component overhead, no async chunk, no fetch. This is the cheapest format at runtime and the default recommendation for icons that are always rendered.
import { MazStar } from '@maz-ui/icons/raw/MazStar'
import MazIcon from 'maz-ui/components/MazIcon'
<template>
<MazIcon :icon="MazStar" class="maz:text-warning" />
</template>
static/ — eagerly-loaded Vue component
A small Vue component that renders the SVG directly. Use this when you need a real component to drop into a template (<MazStar />) and the icon is always rendered. Pays the Vue component overhead per icon but lets you skip the <MazIcon> wrapper.
import { MazStar } from '@maz-ui/icons/MazStar' // legacy path
// Or use the static path
import { MazStar } from '@maz-ui/icons/static/MazStar'
<template>
<MazStar class="maz:text-warning" />
</template>
lazy/ — async Vue component (defineAsyncComponent)
A Vue component whose SVG payload is split into its own chunk and only loaded on demand. Use this for icons that appear conditionally (in a tooltip, behind a v-if, in a modal that opens on click, …) so you don't ship the SVG bytes upfront.
import { MazStar } from '@maz-ui/icons/lazy/MazStar'
<template>
<MazStar v-if="isOpen" />
</template>
You can also import lazy icons from the main entry with the Lazy prefix:
import { LazyMazStar } from '@maz-ui/icons'
When to use which?
| Situation | Format | Why |
|---|---|---|
| Inline always-rendered icon (e.g. button icon, list bullet) | raw/ via MazIcon |
Smallest runtime cost — just inserts a string |
You need a drop-in component (<MazStar /> directly in templates) |
static/ |
Standard Vue component, no wrapper |
Icon hidden behind v-if / opened in a dialog / shown after a click |
lazy/ |
Icon code is split out and only fetched on demand |
| Dynamic icon name resolved at runtime | static/ (or pass a URL/raw string to <MazIcon icon="…" />) |
The component handles strings, URLs and Vue components transparently |
Auto-import with resolver
import { MazIconsResolver } from '@maz-ui/icons/resolvers'
import Components from 'unplugin-vue-components/vite'
export default defineConfig({
plugins: [
Components({
resolvers: [MazIconsResolver()],
}),
],
})
The resolver wires up both MazXxx (static) and LazyMazXxx (lazy) component imports. Raw entries are not auto-imported — they're values, not components, so import them explicitly.
Documentation
Full documentation: https://maz-ui.com/ecosystem/icons
License
Related Packages
🖌️ A beautiful, customizable, and simple to use component library with Tailwind...
Version History
| Version | Released | License |
|---|---|---|
| 5.0.0 | MIT | |
| 4.9.2 | MIT | |
| 4.7.6 | MIT | |
| 4.7.2 | MIT | |
| 4.7.0 | MIT | |
| 4.6.1 | MIT | |
| 4.5.0 | MIT | |
| 4.3.0 | MIT | |
| 4.1.7 | MIT | |
| 4.1.3 | MIT | |
| 4.1.2 | MIT | |
| 4.1.1 | MIT | |
| 4.0.0 | MIT |
Pre-releases (46)
| Version | Released | License |
|---|---|---|
| 5.0.0-beta.44 | MIT | |
| 5.0.0-beta.25 | MIT | |
| 5.0.0-beta.24 | MIT | |
| 5.0.0-beta.18 | MIT | |
| 5.0.0-beta.11 | MIT | |
| 5.0.0-beta.8 | MIT | |
| 5.0.0-beta.5 | MIT | |
| 5.0.0-beta.4 | MIT | |
| 5.0.0-beta.3 | MIT | |
| 5.0.0-beta.2 | MIT | |
| 5.0.0-beta.1 | MIT | |
| 5.0.0-beta.0 | MIT | |
| 5.0.0-canary.ef64a02.0 | MIT | |
| 5.0.0-canary.07195c6.0 | MIT | |
| 4.9.2-beta.0 | MIT | |
| 4.7.6-beta.0 | MIT | |
| 4.7.0-beta.0 | MIT | |
| 4.3.0-rc.0 | MIT | |
| 4.1.8-beta.1 | MIT | |
| 4.1.7-beta.8 | MIT | |
| 4.1.7-beta.7 | MIT | |
| 4.1.7-beta.6 | MIT | |
| 4.1.7-beta.5 | MIT | |
| 4.1.7-beta.3 | MIT | |
| 4.1.7-beta.0 | MIT | |
| 4.1.6-beta.0 | MIT | |
| 4.0.0-beta.38 | MIT | |
| 4.0.0-beta.35 | MIT | |
| 4.0.0-beta.27 | MIT | |
| 4.0.0-beta.26 | MIT |
Showing the latest 30 of 46. See every release on npm