svgtools
Pre-MVP · 100% client-side

Optimize SVG. Faster, batch, framework-ready.

A modern SVG optimizer with batch processing, before/after diff, and one-click export to React, Vue, or Svelte components. Nothing leaves your browser.

What svgtools does

svgtools is a free, browser-based toolkit for working with SVG files. It packages the things you usually need separate sites or build-tool plugins for — minification with SVGO, conversion to React, Vue, and Svelte components, color palette extraction and recoloring, sprite generation, and rasterization to PNG or WebP — into a single page that runs entirely in your browser. Nothing is uploaded; the SVGs you drop in stay on your device, and closing the tab clears them.

Why optimize SVG at all?

SVG is a text format, which makes it remarkably efficient when it is written tightly and surprisingly bloated when it is not. Files exported from Figma, Illustrator, or Sketch routinely include editor metadata, unused IDs, redundant xmlns declarations, comments, and high-precision floating-point coordinates that no human will ever need to read. SVGO — the optimizer behind this site — strips those losslessly and typically shrinks an icon by 30–60% without changing how it renders. On a marketing site with dozens of icons or hero illustrations, that adds up to real bytes shaved off Largest Contentful Paint, especially on mobile.

How a typical session works

  1. Drop or paste. Drag one SVG, a folder, or several hundred files at once. Pasting raw SVG markup also works for one-off edits.
  2. Tune the SVGO plugins. Each plugin can be toggled independently. Save a plugin set as a preset so the next batch behaves the same way.
  3. Inspect the savings. Original size, optimized size, and percent saved are shown per file. Files where optimization made the output larger (rare, but possible with certain plugin combinations) are flagged.
  4. Export. Download a single optimized SVG, a ZIP of an entire batch, a React/Vue/Svelte component, a sprite, or a PNG/WebP raster.

Tools at a glance

  • Batch SVG optimizer — process hundreds of files in one drop with a shared SVGO config and per-file size reporting.
  • SVG to React — convert to JSX or TSX components with correctly cased attributes and typed props spread.
  • SVG to Vue — generate Vue 3 SFCs that work in plain Vue, Nuxt, and Composition-API codebases.
  • SVG color extractor — list every color in an SVG, recolor visually, or convert hardcoded hex values to CSS variables for theming.
  • SVG sprite generator — combine an icon set into a single optimized sprite with copy-paste <use> markup.

Privacy by design

svgtools is intentionally built without a backend for SVG processing. The optimizer, converters, and rasterizer all run inside your browser using WebAssembly and JavaScript ports of the same libraries you would install in a build pipeline (SVGO, @svgr/core, JSZip). Files never leave your device, there are no accounts, and the only persistent storage is your local SVGO plugin preferences and theme/locale, all of which live in localStorage. See the privacy policy for the full breakdown.

How svgtools differs from SVGOMG

SVGOMG is the canonical online front-end for SVGO and remains an excellent single-file optimizer. svgtools complements it for use cases it does not cover: dropping a folder of icons and walking away, exporting React or Vue components without spinning up a build tool, extracting and editing palettes, and generating sprites. If you only need to minify one logo, SVGOMG is the faster path. If you maintain an icon set or are integrating SVGs into a frontend codebase, svgtools is built for that workflow.

Cost and licensing

svgtools is free to use with no accounts, no quotas, and no premium tier. The site is supported by ads — see the privacy policy for what that means for cookies and tracking — and optionally by donations from people who find the tool useful. The tool itself does not paywall any feature.