Сборка SVG-спрайта
Соберите иконки в один SVG-файл и подключайте каждую через use. Инструмент создаёт symbol с собственным viewBox, назначает ID из имён файлов и обновляет ссылки на градиенты, маски и другие определения, чтобы иконки не мешали друг другу.
Как пользоваться
Добавьте несколько SVG-файлов или откройте пример. Можно добавлять файлы порциями, менять порядок и удалять отдельные иконки. Спрайт и код подключения пересчитываются автоматически. Под каждым рисунком показан его ID. Совпадающие имена получают суффикс: icon-check, icon-check-2. После изменения списка используйте актуальные ID из результата.
Скачайте sprite.svg. Для отдельного файла используйте <use href="sprite.svg#icon-check"/> и разместите спрайт на том же сайте. Проверяйте подключение через HTTP-сервер, а не открытием HTML как локального файла. Либо вставьте код спрайта в HTML один раз, задайте его внешнему svg нулевые размеры и aria-hidden="true", а иконки подключайте через href="#icon-check". Не задавайте спрайту display: none.
Примеры подключения содержат размеры 24 × 24 и доступное название из имени файла. Замените название на смысл иконки; для декоративного рисунка используйте aria-hidden="true" вместо role и aria-label. Цвет currentColor берётся из цвета текста страницы; заданные в исходнике цвета сохраняются.
Какие SVG можно объединить
Подходят статические векторные иконки с фигурами, текстом, градиентами, масками, обрезкой и внутренними ссылками. Нужен viewBox или положительные width и height в пикселях. Числа координат не округляются. Статические CSS-правила переносятся в элементы; классы и метаданные редакторов удаляются.
Не поддерживаются скрипты, обработчики событий, анимация, растровые изображения, foreignObject, внешние ссылки, DOCTYPE, CSS с @-правилами или псевдоклассами. Неоднозначные ID и отсутствующие цели ссылок вызывают ошибку с именем файла. Удалите проблемный файл из списка или исправьте его и добавьте заново; неполный спрайт не выдаётся.
До 40 файлов и 2 МБ суммарно, до 20 000 узлов и 100 уровней вложенности. Файлы читаются как UTF-8 и не отправляются на сервер. Предпросмотр использует SVG как изображение: код иконки не вставляется в страницу сайта.
Для вашего удобства рекомендую использовать полноэкранный режим.
Добавьте иконки или откройте пример.
Иконки пока не добавлены
Выберите несколько SVG. Имена файлов станут ID символов; совпадения получат числовой суффикс.
SVG-спрайт
Как подключить иконки
Для сборки включите JavaScript. Спрайт хранит иконки в элементах symbol. На странице каждую иконку выводит svg с вложенным use и ссылкой на ID символа.
Пример подключения
<svg width="24" height="24" role="img" aria-label="Готово">
<use href="sprite.svg#icon-check"/>
</svg>Для уменьшения отдельного файла используйте оптимизацию SVG, для фонового изображения — SVG в CSS, для компонента — SVG в JSX и Vue.