Skip to content

SVG optimization, rewritten in Rust.

Fast, native SVG optimization with fixed-point convergence. Available as a CLI today, with a JavaScript API planned.

Getting started
cargo install svgm
0x faster
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 and Illustrator. 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

Close on compression. Far ahead on speed.

Speed

2.6x faster across the same real-world benchmark corpus.

Compression

Within 3.3 pts of SVGO on compression across 100 real SVGs.

Real-world corpus

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

USAGE

Built for the command line first.

CLI

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

Rust crate

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

JavaScript

A JavaScript API is planned for broader ecosystem integrations.