SVG

SVG URL кодировщик

Кодируйте SVG для использования в CSS свойстве background-image

Вставьте SVG или перетащите файл

Здесь появится картинка

Фон
Кавычки
Кодированный SVGможно править прямо здесь — пересоберётся вся строка
CSSготово для background-image
Появится здесь
Tailwindпроизвольное значение в квадратных скобках
Появится здесь
Кодировщик SVG для CSS: исходный код SVG и строка data-URI для background-image
Кодирование SVG в data-URI для CSS-фона без отдельного файла

Почему SVG в CSS не кодируют в Base64

Base64 нужен, когда двоичный файл (PNG, шрифт, PDF) приходится протащить через место, где допустим только текст. SVG двоичным не является, это обычная разметка, и в правило CSS её можно положить как есть. Достаточно экранировать символы, которые ломают значение url() : угловые скобки, кавычки, решётку в цветах. Именно это и делает кодировщик выше.

Выигрыш двойной. Base64 раздувает данные примерно на треть, а экранирование добавляет считаные проценты, так что строка выходит короче. И она остаётся читаемой: в экранированном SVG видно теги и цвета, так что поправить заливку можно прямо в CSS, не перекодируя картинку заново. Что такое Base64 и когда он всё-таки нужен, рассказано в статье про кодирование Base64.

Три способа подключить SVG

Инлайн-разметка, экранированная (или Base64) строка в CSS и внешний файл решают разные задачи, вот чем они отличаются:

СпособРазмерКэшируется отдельноАнимация
Инлайн SVG в HTMLБез накруткиНет, живёт в разметке страницыПолная, доступны CSS- и JS-анимация, стили из документа
Base64/URL в CSS+10–35% к весу файлаНет, живёт в CSS-файлеТолько то, что описано внутри самого SVG
Внешний .svg-файлБез накруткиДа, отдельным запросомТолько то, что описано внутри самого SVG

Где пригодится встроенный SVG

  • Иконки в псевдоэлементах. Стрелка или галочка через content зависит от шрифта и съезжает по базовой линии, а фон с SVG выглядит одинаково везде. Разбор самих псевдоэлементов есть в статье про псевдоклассы и псевдоэлементы CSS.
  • Мелкая декоративная графика. Паттерны, разделители, галочки в списках. Каждая такая картинка отдельным файлом даёт лишний сетевой запрос, а встроенная приезжает вместе со стилями.
  • Экономия на запросах. Приём даёт заметный эффект именно на мелочи в единицы килобайт. Крупную иллюстрацию встраивать не стоит, она раздует CSS, который блокирует рендер, и попадёт в кеш вместе со стилями вместо собственного.

Похожие инструменты

Другие полезные инструменты из той же категории

Часто задаваемые вопросы

Кодирование SVG преобразует SVG-файлы в data URL, которые можно встраивать прямо в CSS, устраняя необходимость во внешних файлах.

Используйте закодированные SVG для маленьких иконок и декоративных элементов в CSS для уменьшения HTTP-запросов и улучшения скорости загрузки.

Закодированные SVG увеличивают размер CSS файла. Лучше всего для графики менее 5КБ. Большие файлы должны оставаться внешними.

Да! URL-кодирование SVG примерно на 30% компактнее Base64. Оно кодирует только специальные символы, сохраняя читаемость и меньший размер файла.

Удалите ненужные метаданные, упростите пути, округлите координаты, минифицируйте код. Используйте инструменты вроде SVGO для автоматической оптимизации перед встраиванием.