Превратите видео или стопку изображений в GIF прямо в браузере
Извлеките кадры из видео или выстройте изображения в ряд, отредактируйте таймлайн и соберите GIF с общей палитрой и межкадровым сжатием — всё прямо в браузере.
Перетащите видео или набор изображений
MP4, WebM, MOV, MKV, AVI — или изображения PNG, JPG, WebP, AVIF, GIF, BMP и HEIC.
Перетаскивание файла ничего не запускает: вы выбираете настройки и нажимаете кнопку.
Как это работает
Перетащите файл
Видео или стопка изображений. Ничего не загружается на сервер и ничего не запускается само.
Выберите отрезок
Задайте начало, конец и частоту кадров и извлеките их — или наберите кадры по одному вручную.
Отредактируйте таймлайн
Удаляйте кадры, разворачивайте порядок, задерживайте один подольше и настраивайте цвета и дизеринг.
Соберите и проверьте
Удерживайте Alt над превью, чтобы сравнить GIF с исходником, а потом скачайте его или передайте дальше.
Одна палитра на весь ролик
Цвета выбираются медианным сечением сразу по всем кадрам, поэтому в середине цикла ничего не меняет оттенок.
Записывается только то, что сдвинулось
Пиксели, совпадающие с предыдущим кадром, наследуются, а не кодируются заново. На записи экрана это почти весь файл.
Дизеринг против полос
Диффузия ошибки Флойда–Стейнберга змейкой, с силой на ползунке, чтобы градиенты оставались чистыми даже на 64 цветах.
Редактируемый таймлайн
Удаляйте кадры, разворачивайте последовательность, делайте палиндром, задерживайте один кадр. Отмена ничего не стоит: хранятся идентификаторы, а не растр.
Сборка на всех ядрах
Анимация распределяется по пулу веб-воркеров, поэтому вкладка остаётся отзывчивой, а полоса прогресса считает настоящие кадры.
Ничего не покидает вкладку
Декодер, палитра и компрессор — это JavaScript, работающий на вашей машине. Ни загрузок на сервер, ни моделей из CDN.
Связано с остальными инструментами
Передайте показанный кадр прямо в обрезку, сжатие или удаление фона, не скачивая его заранее.
Настоящий кодировщик GIF, а не выгрузка холста
Кадры читаются прямо из декодированного видео с качественным масштабированием и никогда не проходят через промежуточный JPEG. Палитра строится медианным сечением по всей анимации, пиксели раскладываются дизерингом Флойда–Стейнберга змейкой, а всё, что кадр разделяет с предыдущим, записывается как прозрачное и наследуется. Работа распределяется по пулу веб-воркеров, поэтому страница остаётся отзывчивой, а полоса прогресса отражает настоящие кадры.
Для баг-репортов, демонстраций и коротких петель
Запишите ошибку один раз и обрежьте до тех четырёх секунд, которые важны. Превратите прогулку по макету в то, что само проигрывается внутри пул-реквеста. Или выстройте несколько скриншотов и задайте им тайминг вручную. Таймлайн остаётся редактируемым, пока вы не нажали «собрать».
Ничего не загружается на сервер и ничего не скачивается
Каждый шаг выполняется в этой вкладке: видеодекодер — собственный декодер браузера, квантователь и компрессор LZW — это JavaScript, приходящий вместе со страницей, а результат — Blob, который никогда не покидает вашу машину. Нет сервера, куда отправлять файлы, и нет модели или кодека, подтягиваемых из CDN. Расплата честная: всё ограничено вашей оперативной памятью, поэтому ролик в 4K нужно обрезать и уменьшить, прежде чем он соберётся.
Часто задаваемые вопросы
QЕсть ли ограничение на размер файла?+
Жёсткого нет, но реальное есть: кадры лежат в памяти вкладки. GIF шириной 480 пикселей и длиной 4 секунды при 12 кадрах в секунду — это около 50 МБ рабочих данных, и он собирается за пару секунд; ролик в 4K исчерпает вкладку задолго до конца. Обрежьте отрезок и уменьшите рабочий размер — эти регуляторы для того и нужны.
QПочему мой GIF всё ещё такой большой?+
GIF — формат 1987 года: 256 цветов и никакой компенсации движения. Сначала уменьшите ширину, потом частоту кадров, потом палитру. Оставить включённым «повторно использовать неизменившиеся пиксели» обычно выгоднее всех трёх мер вместе: на записи экрана это убирает большую часть файла.
QПочему частота кадров не в точности та, что я выбрал?+
GIF хранит каждую задержку в сотых долях секунды, поэтому существуют только частоты вида 100/n. Запрос 12 кадров в секунду на деле означает 8 сотых на кадр, то есть 12,5. Панель показывает частоту, которую вы получите на самом деле, а не запрошенную.
QКакие форматы можно загружать?+
Любое видео, которое браузер умеет проигрывать, — MP4/H.264, WebM, MOV и часто MKV, — а из изображений PNG, JPG, WebP, AVIF, GIF, BMP и HEIC с айфона. Анимированный GIF, добавленный как изображение, даёт только свой первый кадр.
QЧто-нибудь отправляется на сервер?+
Нет. Нет ни шага загрузки, ни внешних запросов: кодировщик поставляется вместе со страницей и работает в веб-воркерах внутри этой вкладки.
QМожно ли сохранить прозрачность?+
Да, переключателем «сохранить прозрачность». GIF поддерживает ровно один полностью прозрачный цвет, поэтому мягкие края становятся жёсткими. С повторным использованием пикселей это не сочетается: обоим нужна одна и та же прозрачная ячейка.