Конвертер Base64 в WebP

Сохраняйте изображения WebP в кодировке Base64 в виде файлов или превращайте данные PNG и JPEG в Base64 в WebP — современный формат, который обычно занимает меньше места при сопоставимом визуальном качестве.

Работает полностью в браузере. Данные никуда не загружаются.

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

  1. Вставьте строку Base64 или URI data:image/webp;base64. Подойдёт и любой другой формат изображений.
  2. Проверьте предпросмотр, определённый формат и размер после декодирования.
  3. Оставьте в списке «Скачать как» формат WebP, чтобы преобразовать изображение, или выберите «Оригинал», чтобы сохранить байты в точности так, как они декодированы.
  4. Скачайте файл .webp и сравните его размер с исходным.

Как распознать данные WebP

WebP хранится в контейнере RIFF — той же обёртке, что используется для звука в формате WAV. Файл начинается с текста ASCII RIFF, поэтому его Base64 начинается с UklGR; несколькими байтами дальше метка WEBP подтверждает, что в контейнере изображение, а не звук. Внутри изображение хранится либо со сжатием с потерями (VP8), либо без потерь (VP8L), либо в расширенном формате (VP8X), который добавляет прозрачность, анимацию или метаданные. Тип MIME — image/webp.

Зачем преобразовывать в WebP

По измерениям Google, файлы WebP с потерями примерно на 25–34 процента меньше файлов JPEG сопоставимого качества, а WebP без потерь примерно на 26 процентов меньше PNG. В отличие от JPEG, WebP сохраняет альфа-канал, поэтому прозрачные логотипы и стикеры преобразуются без искажений. Все современные популярные браузеры отображают WebP.

Меньший размер файла важен вдвойне, когда изображения встраиваются в код: более лёгкое изображение означает и более короткую строку Base64 в HTML, CSS или JSON. После преобразования новый файл можно снова закодировать с помощью инструмента WebP в Base64.

Результат не всегда получается меньше. Крошечные значки, уже хорошо сжатые фотографии и плоская графика с небольшим числом цветов иногда становятся больше — в таком случае лучше выбрать PNG или JPG. Кроме того, здесь можно быстро проверить, сколько выиграет конкретное изображение, прежде чем менять конвейер сборки: вставьте PNG или JPEG в Base64, скачайте WebP и сравните размеры.

Преобразование с помощью Pillow

Для пакетной обработки на сервере то же преобразование занимает несколько строк на Python с библиотекой Pillow:

import base64, io
from PIL import Image

img = Image.open(io.BytesIO(base64.b64decode(b64_string)))
img.save('output.webp', 'WEBP', quality=80)

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

Сохраняет ли WebP прозрачность?

Да. WebP поддерживает полноценный альфа-канал как в режиме с потерями, так и без потерь, поэтому прозрачные области остаются прозрачными после преобразования.

Можно ли сохранить анимированный WebP?

Скачайте его как «Оригинал», чтобы сохранить все кадры. Преобразование выполняется через холст (canvas), который захватывает только один неподвижный кадр.

Всегда ли WebP на выходе меньше исходного файла?

Нет. Большие фотографии и скриншоты обычно уменьшаются, но маленькие или сильно оптимизированные изображения могут вырасти. Сравните размер после декодирования, который показывает инструмент, с размером скачанного файла.

Некоторые программы не открывают мой файл WebP. Что делать?

Старые программы просмотра изображений и офисные приложения могут не поддерживать WebP. Вставьте ту же строку Base64 и скачайте изображение как PNG или JPG.