Конвертер SVG в CSS Data URI

Вставьте SVG и получите компактный URL-закодированный data URI, а также готовые правила background-image и перекрашиваемые mask-image.

Обновлено
Кодировка
Открыть .svg
CSS-результат
Data URI
background-image
mask-image (иконка с изменяемым цветом)

Предпросмотр background-image

Предпросмотр mask-image

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Преобразуйте SVG-код в аккуратный React-компонент онлайнАтрибуты в camelCase, className, объекты style, props spread и TypeScript.SVG в JSX →

Как пользоваться: SVG в CSS конвертер

  1. Вставьте SVG-код, откройте файл .svg или загрузите пример.
  2. Оставьте включённой опцию Очистить SVG, чтобы удалить комментарии, метаданные и служебные атрибуты редакторов, и выберите URL-кодирование или Base64.
  3. Проверьте оба предпросмотра: обычное фоновое изображение и вариант с одноцветной маской.
  4. Скопируйте data URI или готовое CSS-правило и вставьте его в свою таблицу стилей.

Что такое data URI для SVG?

Data URI встраивает файл прямо в CSS вместо ссылки на него: background-image: url("data:image/svg+xml,…"). Для небольших иконок, разделителей, узоров и собственных чекбоксов это экономит HTTP-запрос, исключает мерцание отсутствующих изображений и держит ресурс рядом со стилями, которые его используют.

URL-кодирование или Base64

SVG — это текст, поэтому Base64 для него не нужен. Base64 увеличивает любой файл примерно на 33% и превращает его в нечитаемый набор символов, который плохо сжимается gzip или Brotli. SVG с URL-кодированием остаётся близким к исходному размеру и читаемым. Экранировать нужно лишь несколько символов:

СимволКодировкаЗачем
#%23Иначе начинает фрагмент URL — цвета вроде #fff ломают изображение.
%%25Сам символ экранирования.
< >%3C %3EРекомендуется для совместимости со строгими парсерами.
"' или %22Кавычки атрибутов заменяются на одинарные, чтобы CSS мог заключить URI в двойные кавычки.

Base64 используйте только тогда, когда инструмент или фреймворк не принимает ничего другого. Карточки с размерами под предпросмотром показывают оба результата, чтобы вы могли их сравнить.

Перекрашиваемые иконки с mask-image

SVG, используемый как фоновое изображение, отрисовывается изолированно: CSS страницы не может изменить его заливку, а currentColor внутри него не следует за цветом вашего текста. Сниппет mask-image решает эту задачу: SVG используется только как трафарет и закрашивается через background-color: currentColor, поэтому одна иконка работает в любом цвете, при наведении и в тёмной теме. Строка -webkit-mask по-прежнему нужна для некоторых браузеров.

Очистка и ограничения

Очистка удаляет XML-декларацию, комментарии, <metadata>, <title> (в фоне он бесполезен), атрибуты Inkscape, Sodipodi и Sketch, а также лишние пробелы. Если атрибут xmlns отсутствует, он добавляется, так как без него браузер не отобразит изображение. Встраивайте только небольшие SVG (несколько килобайт): большие data URI раздувают каждый загружаемый CSS-файл и не кэшируются отдельно. Для сложной графики лучше подключить файл по ссылке. Нужен React-компонент вместо CSS? Используйте SVG в JSX; для растровых изображений см. Изображение в Base64.

Использование в Webflow

Панель Backgrounds в Webflow работает с загруженными изображениями, поэтому вставьте сгенерированное правило в тег <style> внутри элемента Embed или в пользовательский код страницы/сайта, а затем назначьте своему элементу соответствующий класс (например, icon).

Также ищут как: svg data uri, svg в data url, url кодирование svg, svg в base64, mask-image.

Инструменты, которые хорошо сочетаются с SVG в CSS конвертер

  • Кодирование и декодирование URL — Выполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные строки обратно в читаемый текст и разбирайте любой URL на части и параметры запроса.
  • Base64 кодер / декодер — Преобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe Base64 или перетащите файл, чтобы получить его строку Base64 или data URI.
  • Минификатор CSS — Вставьте таблицу стилей, чтобы мгновенно уменьшить её размер.
  • Генератор CSS-анимаций — Создавайте CSS-анимации на таймлайне ключевых кадров.

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

Почему не отображается мой SVG data URI?
Обычные причины: неэкранированный # (в цветах вроде #fff), отсутствующий атрибут xmlns="http://www.w3.org/2000/svg" или непарные кавычки между url("…") в CSS и атрибутами SVG. Этот инструмент исправляет все три проблемы.
Что лучше для SVG в CSS: URL-кодирование или Base64?
Обычно лучше URL-кодирование: результат меньше, остаётся читаемым и хорошо сжимается. Base64 добавляет примерно треть к размеру и имеет смысл только тогда, когда этого требует инструментарий.
Можно ли изменить цвет фонового SVG-изображения через CSS?
Напрямую — нет, CSS не может проникнуть внутрь фонового изображения. Либо измените заливку в SVG до кодирования, либо используйте сниппет mask-image и задайте background-color, который можно менять при наведении или в тёмной теме.
Нужно ли указывать charset=utf-8 в data URI?
Нет. Не-ASCII символы кодируются в процентах как UTF-8, и браузеры корректно декодируют их для SVG, поэтому достаточно data:image/svg+xml,.
Есть ли ограничение на размер data URI в CSS?
Браузеры справляются с очень большими data URI, но они раздувают таблицу стилей и не кэшируются отдельно. Встраивайте SVG размером в несколько килобайт, а более крупные файлы подключайте по ссылке.
Можно ли установить SVG в CSS конвертер как веб-приложение и пользоваться им офлайн?
Да. SVG в CSS конвертер — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

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

localSVG в JSXВставьте SVG из Figma, Illustrator или набора иконок и получите готовый React-компонент (JSX или TSX) с…localИзображение в Base64Превратите PNG, JPEG, SVG, WebP или GIF в Base64 Data URI с готовыми CSS и HTML или вставьте строку…localКодирование и декодирование URLВыполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные…localBase64 кодер / декодерПреобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe…localМинификатор CSSВставьте таблицу стилей, чтобы мгновенно уменьшить её размер. Вы увидите исходный и минифицированный…localГенератор CSS-анимацийСоздавайте CSS-анимации на таймлайне ключевых кадров. Начните с одного из 50+ пресетов, просматривайте…