Что срезается
Экспорт из Illustrator, Figma или Inkscape тащит за собой служебный мусор: комментарии редактора, собственные пространства имён, пустые группы, повторяющиеся атрибуты, метаданные, координаты с десятью знаками после запятой. На отрисовку это не влияет, а байты занимает — иногда больше половины файла.
Для векторной картинки интерфейс перестраивается: растровые ползунки (качество, палитра, разрешение) прячутся, потому что к вектору они отношения не имеют. Остаётся один осмысленный рычаг — точность.
Точность координат
Сколько знаков после запятой оставить в путях. Ноль — самые короткие числа и заметно угловатые кривые на мелких деталях; три (по умолчанию) — незаметная на глаз разница; пять — почти исходная точность. Разброс реальный: на тестовой иконке крайние значения дали 3198 и 6431 байт — вдвое.
Замер на файле из Inkscape: 12 КБ → 5.3 КБ (−56%) без единого визуального изменения.
Что с этим делать дальше
- Иконки в интерфейсе — точность 2–3, этого достаточно.
- Логотип, который будут масштабировать на билборд, — оставьте 4–5.
- Сложные иллюстрации с тысячами узлов иногда честнее отдать растром: если файл всё равно весит сотни килобайт, WebP на нужном разрешении может оказаться легче.
FAQ
Картинка точно не поедет?
SVGO делает только безопасные преобразования, но математика округления есть математика: на очень мелких деталях при точности 0–1 углы заметны. Сравните до/после в превью — браузер рисует SVG сам, никакого приближения.
Анимация и скрипты внутри SVG сохранятся?
Обычно да, но гарантии здесь давать нечестно: оптимизатор чистит структуру, а анимация может ссылаться на то, что он посчитал лишним. Файл со SMIL-анимацией или скриптом проверьте глазами перед выкаткой.
Файлы уходят на сервер?
Нет. SVGO — обычный JavaScript, он подгружается отдельным куском и работает в вашей вкладке.
Можно пачкой?
Да, до 100 файлов, с общим архивом на выходе.