vite-svg-loader weekly downloads statistics
By jpkleemans · npm · Vite plugins
Vite plugin to load SVG files as Vue components
vite-svg-loader has 330,179 recorded weekly downloads on npm, a decrease of 41.4% over the past 30 days, ranking #313 of 2,391 tracked listings.
About vite-svg-loader
Vite SVG loader
Vite plugin to load SVG files as Vue components, using SVGO for optimization.
<a href="https://www.npmjs.com/package/vite-svg-loader" target="_blank"><img src="https://img.shields.io/npm/v/vite-svg-loader?style=flat-square" alt="Version"></a> <a href="https://www.npmjs.com/package/vite-svg-loader" target="_blank"><img src="https://img.shields.io/npm/dw/vite-svg-loader?style=flat-square" alt="Downloads"></a> <a href="https://www.npmjs.com/package/vite-svg-loader" target="_blank"><img src="https://img.shields.io/npm/l/vite-svg-loader?style=flat-square" alt="License"></a>
<template>
<MyIcon />
</template>
<script setup>
import MyIcon from './my-icon.svg'
</script>
Install
npm install vite-svg-loader --save-dev
Setup
vite.config.js
import svgLoader from 'vite-svg-loader'
export default defineConfig({
plugins: [vue(), svgLoader()]
})
Import params
URL
SVGs can be imported as URLs using the ?url suffix:
import iconUrl from './my-icon.svg?url'
// 'data:image/svg+xml...'
Raw
SVGs can be imported as strings using the ?raw suffix:
import iconRaw from './my-icon.svg?raw'
// '<?xml version="1.0"?>...'
Component
SVGs can be explicitly imported as Vue components using the ?component suffix:
import IconComponent from './my-icon.svg?component'
// <IconComponent />
Default import config
When no explicit params are provided SVGs will be imported as Vue components by default.
This can be changed using the defaultImport config setting,
such that SVGs without params will be imported as URLs (or raw strings) instead.
vite.config.js
svgLoader({
defaultImport: 'url' // or 'raw'
})
SVGO Configuration
vite.config.js
svgLoader({
svgoConfig: {
multipass: true
}
})
Disable SVGO
vite.config.js
svgLoader({
svgo: false
})
Skip SVGO for a single file
SVGO can be explicitly disabled for one file by adding the ?skipsvgo suffix:
import IconWithoutOptimizer from './my-icon.svg?skipsvgo'
// <IconWithoutOptimizer />
Use with TypeScript
If you use the loader in a Typescript project, you'll need to reference the type definitions inside vite-env.d.ts:
/// <reference types="vite/client" />
/// <reference types="vite-svg-loader" />
Sponsors
<a href="https://www.nexxtmove.nl/" target="_blank"> <img src="https://raw.githubusercontent.com/jpkleemans/attribute-events/gh-pages/nexxtmove-logo.svg" alt="Nexxtmove Logo" width="200"> </a>Thanks to <a href="https://www.nexxtmove.nl/" target="_blank">Nexxtmove</a> for sponsoring the development of this project.
Your logo or name here? Sponsor this project.
Description from the npm listing.
- vite-plugin
- vite
- vue
- svg
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm Vite plugins plugins
All 20 vite-svg-loader alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/vite-svg-loader. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.