ДокументыИзображенияМедиаИнструменты PDF

Оптимизатор SVG Онлайн

Оптимизируйте и минифицируйте SVG-файлы. Уменьшайте размер без изменения внешнего вида.

Processed in your browser

Оптимизируйте SVG для веб-продакшена

100% конфиденциально

SVG оптимизируется в браузере. Никогда не загружается ни на какой сервер.

До 90% меньше

Удаляет «мусор» Illustrator, Inkscape и Figma. Остаётся только необходимое.

Внешний вид сохраняется

Оптимизации безопасны: визуальное отображение не меняется в подавляющем большинстве случаев.

Готов для продакшена

Скачайте оптимизированный SVG и вставьте его прямо в HTML или CSS.

Три шага — никаких сложностей

1

Загрузите SVG-файл

Перетащите или выберите файл .svg, экспортированный из Illustrator, Inkscape, Figma или другого редактора.

2

Автоматическая оптимизация

SVG очищается и минифицируется: удаляются ненужные метаданные, комментарии, избыточные атрибуты, оптимизируются пути.

3

Скачайте оптимизированный SVG

Сравните размер до и после. Скачайте SVG, готовый для продакшена, одним кликом.

Остались вопросы?

В подавляющем большинстве случаев — нет. Безопасные оптимизации, выполняемые инструментом (удаление метаданных, комментариев, скрытых элементов, избыточных атрибутов и упрощение путей без потери точности), не влияют на визуальное отображение. Однако существует небольшой набор оптимизаций, которые в редких случаях могут вызвать изменения: снижение десятичной точности координат способно слегка затронуть форму очень детализированных путей, а удаление ряда CSS-атрибутов может повлиять на SVG со сложными стилями. Для SVG-иконок и статичных иллюстраций оптимизация полностью безопасна. Для SVG с CSS- или JavaScript-анимациями, зависящими от конкретных ID или классов, рекомендуется проверить результат перед использованием в продакшене.

SVG-оптимизация удаляет всё ненужное для визуального рендеринга. Ненужные метаданные: объявления <?xml version='1.0'?>, DOCTYPE, комментарии, XML-метаданные, пространства имён Inkscape (inkscape:, sodipodi:), Adobe Illustrator (ai:, i:) и CorelDRAW. Избыточные атрибуты: атрибуты со значениями по умолчанию (например, fill='black'), атрибуты style, которые можно объединить. Геометрия: пути с избыточными командами, пустые субпути, тождественные трансформации (transform='translate(0,0)'). Оптимизация путей конвертирует кривые Безье в более короткие формы, когда возможно, и снижает десятичную точность координат.

Сокращение сильно варьируется в зависимости от источника. SVG, экспортированные из Adobe Illustrator, печально известны раздуванием: они могут содержать десятки килобайт метаданных приложения, скрытые слои и неоптимизированные пути. Простая иконка, экспортированная из Illustrator объёмом 50 КБ, может быть уменьшена до 3–5 КБ после оптимизации (более 90%). SVG из Figma чище, но всё равно поддаются улучшению: типичное уменьшение на 30–50%. SVG из Inkscape имеют метаданные пространств имён sodipodi и inkscape, ненужные для рендеринга: типичное уменьшение на 40–60%. По данным SVGO, медианное сокращение составляет 55–65% на реальных тестовых SVG.

Обязательно. Неоптимизированные SVG напрямую влияют на производительность веб-страниц. SVG 80 КБ против оптимизированного 8 КБ — это в 10 раз меньше данных, которые браузер должен загрузить, разобрать и отрендерить. Влияние особенно заметно на мобильных устройствах с медленными соединениями. После оптимизации простые иконки должны занимать менее 1 КБ, сложные иллюстрации — менее 10 КБ. Кроме прямого уменьшения размера, оптимизированные SVG лучше сжимаются с gzip или Brotli, поскольку более чистые файлы имеют более низкую энтропию. Lighthouse от Google штрафует за неоптимизированные ресурсы, включая избыточно большие SVG.

Да, агрессивные оптимизации могут сломать SVG с интерактивностью. Основные случаи: (1) Удаление ID — если CSS или JavaScript-анимации ссылаются на элементы по ID, их удаление сломает функциональность. (2) Удаление классов — аналогично. (3) Слияние групп — объединение элементов <g> может изменить порядок рендеринга или убрать опорные точки для анимаций. (4) Встраивание стилей — конвертация CSS-классов в inline-атрибуты style может мешать внешнему CSS, обращающемуся к этим классам. Для анимированных SVG рекомендуется консервативный профиль оптимизации с сохранением ID и классов.

SVGO (SVG Optimizer) — наиболее широко используемый инструмент оптимизации SVG в экосистеме JavaScript/Node.js. Создан Киром Белевичем в 2012 году, доступен как npm-пакет. SVGO использует плагинную архитектуру: каждый тип оптимизации — независимый плагин, который можно включать и отключать. Плагины делятся на preset-default (включены по умолчанию, считаются безопасными) и опциональные (более агрессивные, отключены по умолчанию). SVGO v3 (2022) — текущая версия с полной поддержкой SVG 2.0. В 2020 году Джейк Аркибальд создал SVGOMG — веб-интерфейс для SVGO с визуализацией результата и интерактивной настройкой плагинов.

Оптимизация SVG: SVGO, пути, viewBox и веб-производительность

Формат SVG (Scalable Vector Graphics) был разработан W3C и стал официальной рекомендацией в 2001 году с SVG 1.0. Широкое веб-распространение пришло с HTML5 и нативной поддержкой во всех основных браузерах около 2012 года. Главное преимущество SVG перед растровыми форматами — независимость от разрешения: SVG весом 1 КБ одинаково хорошо выглядит на экране 72 DPI, на iPhone Retina при 458 DPI и на 8K-дисплее при 220 DPI, без пикселизации. SVG, генерируемые дизайнерскими инструментами, содержат значительные объёмы ненужных данных: Adobe Illustrator включает собственное XML-пространство имён (xmlns:ai), данные сессии редактирования и слои Illustrator с проприетарными атрибутами. Inkscape добавляет пространства имён inkscape: и sodipodi: с информацией о UI редактора. Figma экспортирует более чистые SVG, но иногда включает элементы макета Figma и атрибуты data-.

Оптимизация путей SVG — тип оптимизации с наибольшим влиянием на размер файла для иллюстрационных SVG. Формат пути SVG использует мини-язык с командами M (moveto), L (lineto), C (curveto с кубической кривой Безье), Q (с квадратичной кривой Безье), A (дуга), Z (закрыть путь). Дизайнерские редакторы экспортируют пути с избыточной точностью: координаты с 6–8 знаками после запятой, тогда как 1–2 знака достаточно для визуально неотличимого качества. Снижение точности с 6 до 1 может уменьшить размер пути на 60–70% без ощутимого визуального изменения. Атрибут viewBox критически важен при оптимизации SVG: он определяет внутреннюю систему координат SVG и должен всегда сохраняться. SVG без viewBox не масштабируется через CSS корректно.

В контексте современной веб-разработки оптимизированные SVG имеют три основных применения: иконки в формате спрайтов, встроенные HTML-иллюстрации и фоновые изображения CSS. Практика SVG-спрайтов (объединение нескольких иконок в один SVG-файл с элементами symbol, на которые ссылаются через use) была популяризирована Крисом Койером на CSS-Tricks около 2012 года. Фреймворки Heroicons (Tailwind CSS), Feather Icons, Lucide React и Phosphor Icons распространяют иконки как оптимизированные SVG размером менее 1 КБ. SVGO интегрируется в современные бандлеры: Vite с плагином vite-plugin-svgr позволяет импортировать SVG как React-компоненты, уже оптимизированные SVGO во время сборки, исключая необходимость ручной оптимизации в рабочем процессе разработки.