svgworm

Turn a folder of SVG files into type-safe, cacheable SVG sprites.
793
Install
npm install svgworm
Latest Version:0.5.0
License:MIT
Last Updated:Oct 18, 2026
Links: GitHub  ·  npm
Maintainer: jmlweb

svgworm

Turn a folder of SVG files into type-safe, content-hashed SVG sprites, a manifest and TypeScript types. Zero client JavaScript, deterministic output, per-icon color handling.

CI License: MIT

pnpm add -D svgworm && pnpm add @svgworm/react   # npm install -D svgworm && npm install @svgworm/react
pnpm svgworm init        # config, predev/prebuild scripts, Icon component, first build (npx svgworm init)
pnpm svgworm             # write the sprite, manifest and types

@svgworm/react is only for React and Next.js; an Astro, Vue or Svelte project needs just svgworm.

svgworm turns a folder of SVG files into a hashed sprite, a manifest and types

Pair it with @svgworm/react for a Server Component Icon where a wrong name is a type error. In an Astro, Vue or Svelte project, init writes a React-free Icon.astro, Icon.vue or Icon.svelte instead.

Docs

Status: 0.x. Flags and the output contract can still change in a minor version before 1.0; see the changelog.

Related Packages

@noho-digital/remix-icons-svg

All ~3200 Remix Icons as importable SVG strings with framework wrapper component...

12,438
shapeso

Shape's icons from the terminal: search 11,160 catalog icons from Shape, Lucide,...

362
@passlock/browser

Flexible passkey authentication for Astro, SvelteKit, NextJS and other framework...

5,281 192
create-fsd-architecture

Scaffold React, Next.js, Vue, Nuxt, and SvelteKit projects with Feature-Sliced D...

3,850 16
@coderefine/cli

CodeRefine — Multi-framework tech debt scanner CLI for React, Vue, Svelte, and A...

2,039

Version History

Version Released License
0.5.0 MIT
0.4.1 MIT
0.4.0 MIT
0.3.0 MIT
0.2.1 MIT
Pre-releases (1)
Version Released License
0.0.0-stage