Skip to content

SVG optimization, rewritten in Rust.

Fast, native SVG optimization with fixed-point convergence. Available as a CLI and Node.js library.

Getting started
npm install svgm-node
0x faster
Per file, on the current benchmark corpus
0% compression
Across real exported SVGs
0 invocation
Converges in a single run
Benchmarked against SVGO 4.0.1 on a corpus of 100 real-world SVGs exported from Figma, Illustrator, Inkscape, and svgrepo. See methodology.
WHY SVGM

Built for modern SVG workflows.

Native performance

A small native binary, written in Rust, with no runtime dependency on Node.js.

Fixed-point convergence

Runs optimization passes until the document stabilizes, in a single invocation.

Safer defaults

Conservative by default, with a focus on preserving output while still reducing size.

BENCHMARKS

SVGO-level compression. 24x faster.

Speed

23.5x faster per file, 2.4x in batch mode, on the same real-world corpus.

Compression

Within 0.1 points of SVGO, with no rendering difference across 414 files.

Real-world corpus

Tested on 100 production SVGs exported from Figma, Illustrator, Inkscape, and svgrepo.

USAGE

Built for every workflow.

CLI

Optimize files directly from the terminal, with fast native execution.

Rust crate

Embed svgm-core in Rust tools, scripts, and custom workflows.

Node.js

Native addon for build tools, scripts, and server-side workflows.