Блог
Русский

Картинка в Base64 — конвертер в Data URI и CSS

Конвертер в браузере между изображениями и Base64, data URI, фрагментами CSS и HTML

Работает в браузере · файлы никуда не загружаются

Перетащите изображение для перевода в Base64

Одно изображение до 5 МБ. Base64 занимает больше места, чем сам файл, поэтому подходит для небольших иконок и логотипов. Изображение не покидает браузер.

Что это за инструмент

Он переписывает байты файла изображения в текст из букв, цифр и нескольких символов. Этот текст можно сразу вставить в HTML или CSS как data URI вида data:image/png;base64,.... Всё работает в браузере, а обратное направление — превратить Base64 снова в картинку — находится на этой же странице.

Как пользоваться

  1. Выберите Изображение → Base64 и перетащите или выберите картинку: один файл до 5 МБ.
  2. Под предпросмотром посмотрите исходный размер, размер текста Base64, прирост и совет по размеру.
  3. В нужном поле (Data URI, Только строка Base64, CSS background-image или Тег HTML img) нажмите Копировать. Длинные значения показаны лишь частично, но копируется всё целиком; можно также скачать текстовый файл.
  4. Для обратного преобразования выберите Base64 → изображение и вставьте Base64 или data URI. Появятся предпросмотр и кнопка Скачать изображение.

Как это работает

  • Кодирование: стандартный Base64 (RFC 4648), 3 байта в 4 символа, с дополнением = до длины, кратной 4. Преобразуются сами байты файла, а не текстовая строка, поэтому любая картинка декодируется без изменений.
  • Тип MIME: определяется по первым байтам файла (JPEG, PNG, GIF, WebP, SVG и другие) и ставится после data:. Неверное расширение файла не мешает.
  • Тег HTML: атрибуты width и height добавляются, если удаётся прочитать размер изображения.
  • Совет по размеру: до 10 КБ подходит для встраивания, больше 50 КБ стоит подумать, больше 500 КБ лучше загрузить и дать ссылку.
  • Декодирование: принимается URL-безопасный Base64 (- и _) и отсутствие дополнения =. Если заявленный тип не совпадает с настоящим, используется настоящий, и вы увидите предупреждение. Data URI без ;base64 не читаются.

Пример

Параметр Значение
Оригинал иконка 2,1 КБ
Текст Base64 около 2,8 КБ (+33 %)
CSS background-image: url("data:image/png;base64,...");
HTML <img src="data:image/png;base64,..." width="16" height="16" alt="">

Частые вопросы

Моя картинка куда-то загружается?

Нет. Чтение файла и кодирование в Base64 происходят в вашем браузере, а полученный текст нигде не сохраняется.

Почему Base64 увеличивает объём?

Base64 записывает 3 байта четырьмя символами, поэтому текст примерно на треть (33 %) больше файла. К тому же внутри HTML или CSS браузер не может кешировать изображение отдельно, и оно скачивается заново при каждой загрузке страницы.

С какого размера Base64 лучше не использовать?

Жёсткого правила нет, но обычно встраивают небольшие иконки, логотипы и спиннеры около 10 КБ, а всё, что больше примерно 50 КБ, оставляют обычным файлом. Инструмент делит размеры на группы до 10 КБ, до 50 КБ, до 500 КБ и больше и показывает, в какую вы попали. Крупные изображения лучше загрузить и дать на них ссылку.

Где пригодится data URI?

В src тега img в HTML, в url() свойства background-image в CSS, в подписи письма, в Markdown-файле или в HTML-странице из одного файла, где картинка должна «ехать» вместе с документом. Отдельный файл изображения не нужен, хотя некоторые почтовые клиенты блокируют картинки в data URI.

При декодировании пишет, что данные некорректны.

Префикс data URI необязателен, пробелы и переносы строк игнорируются, а ещё можно вставить целый фрагмент CSS или HTML — data URI внутри найдётся сам. Если ошибка остаётся, скорее всего, текст обрезан или в нём есть лишние символы. Данные, которые не являются изображением, отклоняются.

А если картинка больше 5 МБ?

Несколько мегабайт Base64 тормозят браузер, и их сложно куда-либо вставить, поэтому принимается одно изображение до 5 МБ. Уменьшите более крупные файлы с помощью сжатия или изменения размера изображений.

Не нашли нужный инструмент?