WEBP
WebP
Исходный формат
GIF
GIF
Целевой формат

Конвертировать WebP в GIF

Сохраните анимированный WebP как универсальный GIF с полным набором кадров и точными таймингами. Под каждый кадр строится своя адаптивная палитра — анимация выглядит чище, чем при общей палитре.

Перетащите WebP файлы сюда

или выберите файлы для конвертации в GIF

Все кадры анимации

Каждый ANMF-чанк WebP превращается в отдельный кадр GIF — никаких пропусков.

Per-frame палитра 256

Под каждый кадр строится свой адаптивный набор из 256 цветов алгоритмом MEDIANCUT.

Точные тайминги

Длительности кадров переводятся из миллисекунд в 1/100 сек GIF с floor 20мс по правилу браузеров.

О форматах

Подробная информация о форматах WebP и GIF

WEBP

WebP формат

Google, RIFF container with VP8/VP8L

Анимированный WebP (VP8L + ANMF) появился в 2013 году как современная замена GIF: те же возможности (кадры, прозрачность, тайминги, циклы), но при сжатии в 5-10 раз меньше. Каждый кадр хранится в чанке ANMF с длительностью в миллисекундах. Поддерживает 24-битный цвет на кадр (до 16,7 млн оттенков), что недоступно GIF.

Цвет на кадр 24 бит RGBA
Тайминг мс (uint24)
Альфа Per-pixel
Размер vs GIF ~10-20%
GIF

GIF формат

CompuServe, 1987 / GIF89a, 1989

GIF — старейший формат с поддержкой анимации, использует LZW-сжатие без потерь и палитру до 256 цветов на кадр. Открывается абсолютно везде: мессенджеры (Telegram, WhatsApp, VK), Twitter/X, Discord, Google Docs, презентации PowerPoint. Идеален как fallback для аудиторий, где WebP не поддерживается.

Цвет на кадр 256 (палитра)
Тайминг 1/100 сек (uint16)
Альфа 1-bit (on/off)
Совместимость 100%

Сравнение форматов

WebP vs GIF: где какой выбирать

Характеристика WebP GIF
Меньший размер файла
24-битный цвет на кадр
Полупрозрачность (alpha 0-255)
Поддержка анимации
Воспроизведение в любом мессенджере
Превращается в стикер Telegram
Вставляется в PowerPoint / Google Slides

Как конвертировать

Три шага анимация → анимация с правильными таймингами

1

Загрузите WebP

Перетащите анимированный .webp или выберите его кнопкой. Статические WebP тоже принимаются — получите одиночный GIF-кадр.

2

Floyd–Steinberg dither

Каждый кадр квантуется в палитру 256 цветов методом MEDIANCUT с диффузией ошибок Floyd–Steinberg — градиенты не превращаются в полосы.

3

Скачайте GIF

Получите готовый .gif с теми же кадрами и таймингом, готовый для отправки в Telegram, Twitter, Discord или вставки в презентацию.

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

Технические вопросы о конвертации WebP → GIF

Да. Мы проходим по всем ANMF-чанкам WebP через Pillow seek(), считываем длительность каждого кадра в миллисекундах из info["duration"], а затем при сохранении передаём список durations в Image.save() — Pillow внутренне округляет до 1/100 сек (минимальная единица GIF-таймера). Если в исходнике 30 кадров по 33 мс (≈30 fps), в GIF будут те же 30 кадров с задержкой 30 (т.е. 0,03 сек на тик GIF). Длительности менее 20 мс мы поднимаем до 100 мс — большинство браузеров и так клампят такие значения, чтобы избежать «бешеной» анимации.
GIF — это формат 1987 года с LZW-сжатием словарного типа, разработанный для палитры до 256 цветов и пиктограмм 320×200 эпохи CompuServe. Современная анимация в 24-bit RGB с альфой просто не помещается в эту схему: палитра 256 цветов на кадр требует квантования (потеря в 65 000 раз), а LZW не понимает движения объектов между кадрами (нет inter-frame prediction, как в VP8). WebP/VP8L использует современный энтропийный кодер, цветовое преобразование и предикторы на уровне пикселей — отсюда десятикратная разница.
GIF89a разрешает каждому кадру иметь собственную локальную палитру до 256 цветов (Local Color Table в Image Descriptor). Это критично для анимаций, где сцена сильно меняется: например, одна сцена синяя, другая — красная. Общая палитра вынудила бы выбирать «средние» цвета для обеих, что портит и ту и другую. Мы вызываем quantize(method=MEDIANCUT, dither=FLOYDSTEINBERG) индивидуально для каждого кадра — это даёт до 256 уникальных цветов в каждом кадре, итого до 256×N для всей анимации. Файл получается чуть крупнее, чем с глобальной палитрой, но визуально намного качественнее.
GIF поддерживает только 1-битную прозрачность (пиксель либо полностью прозрачный, либо полностью непрозрачный) — никаких полупрозрачных краёв. WebP с альфа 0-255 при конверсии теряет градации: мы накладываем все кадры на общий холст через alpha_composite, чтобы корректно обработать дисплинг (disposal modes), а затем сводим к непрозрачному фону. Если вам важна именно полупрозрачность, GIF — неподходящий формат, посмотрите в сторону анимированного PNG (APNG) или сохраните как WebP без конвертации.
Это историческое следствие. Спецификация GIF89a допускает задержку 0 (мгновенный переход), но в 90-х многие браузеры и плееры не успевали отрисовать такой кадр и просто пропускали его. По соглашению производителей минимальная нормально воспроизводимая задержка — 20 мс (2 GIF-тика); значения 0-1 воспринимаются как «использовать default», который браузеры устанавливают в 100 мс (10 fps). Чтобы анимация не выглядела вдвое медленнее ожидаемого, мы заранее поднимаем сверхмалые задержки до 100 мс, чем синхронизируем поведение разных проигрывателей.

Готовы перевести WebP в GIF?

Загрузите анимированный WebP и получите GIF с теми же кадрами и таймингами

Конвертировать WebP в GIF