tooly

Сжать GIF онлайн

Анимированные GIF весят много, потому что каждый кадр хранит своё изображение. Снизьте частоту кадров, размер и палитру — и файл усохнет, обычно на 60–80%, при этом анимация останется целой.

Файлы не покидают ваш браузер

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

  1. 1

    Выберите уровень сжатия — «Среднее» подходит для большинства GIF.

  2. 2

    Перетащите GIF в область или нажмите, чтобы выбрать.

  3. 3

    Скачайте уменьшенный GIF или обработайте несколько и заберите ZIP.

Почему GIF столько весят

Формат GIF появился в 1987 году и задумывался для небольшой графики на медленных соединениях, а не для видео. Каждый кадр он хранит как отдельное изображение, сжатое алгоритмом LZW — методом без потерь, который хорошо справляется с однотонными областями и плохо со всем «шумным»: съёмкой с камеры, градиентами, плёночным зерном. Компенсации движения, как в современных видеокодеках, здесь нет, поэтому трёхсекундный ролик с частотой 25 кадров в секунду — это 75 почти полных картинок, уложенных одна за другой.

Кроме того, каждый кадр ограничен 256 цветами. Когда GIF делают из видео, кодировщик часто рассыпает по всем кадрам шум дизеринга, чтобы имитировать недостающие оттенки, а именно такой шум LZW сжимает хуже всего. Отсюда и знакомая GIF-реакция на 15 МБ, которая в виде MP4 весила бы 600 КБ.

Размер зависит от количества кадров, числа пикселей в кадре и детализации цвета. Этот инструмент уменьшает все три параметра.

Что на самом деле делают три уровня

Инструмент запускает FFmpeg, скомпилированный в WebAssembly, прямо в браузере и пересобирает GIF в два прохода. Первый проход анализирует всю анимацию и строит для неё единую оптимизированную палитру; второй заново отрисовывает каждый кадр с этой палитрой. Кадры масштабируются фильтром Lanczos, который сохраняет края резче, чем простая передискретизация, а цвета подбираются упорядоченным дизерингом (Bayer): он даёт регулярный узор, который сжимается гораздо лучше случайного шума.

  • Лёгкое — 15 кадров в секунду, исходные размеры, до 256 цветов. Подходит, когда GIF должен остаться прежнего размера, например демонстрация интерфейса, где важна читаемость каждого пикселя.
  • Среднее — 12 кадров в секунду, ширина и высота уменьшены до 75%, до 128 цветов. Уровень по умолчанию и хороший баланс для большинства GIF на сайтах, в документации и в чатах.
  • Сильное — 10 кадров в секунду, половина ширины и высоты, до 64 цветов. Используйте, когда нужно уложиться в жёсткий лимит, например для вложения в письмо или ограничения на загрузку на форуме.

Одно лишь уменьшение размеров вдвое убирает три четверти пикселей, поэтому «Сильное» сжатие способно превратить файл на 12 МБ в файл меньше 2 МБ. Тайминг анимации сохраняется: трёхсекундный цикл по-прежнему длится три секунды, просто отрисовывается меньшим числом кадров.

Как выбрать уровень под содержимое

Тип анимации важнее, чем исходный размер файла.

  • Записи экрана и демонстрации интерфейса содержат большие однотонные области и чёткий текст. Сокращение палитры они переносят хорошо, а уменьшение размеров — плохо: мелкий текст становится нечитаемым. Начните с «Лёгкого»; если файл всё ещё велик, перед сжатием обрежьте запись до нужной области.
  • Иллюстрации, логотипы и стикеры с небольшим числом плоских цветов при 64 цветах выглядят почти так же. Обычно подходит «Сильное», если только рисунок и так не маленький.
  • Фрагменты видео и съёмки с камеры содержат градиенты, оттенки кожи и небо. При 64 цветах на них появляются полосы, поэтому надёжнее «Среднее». Если даже со «Средним» файл слишком велик, скорее всего, ролик просто слишком длинный для GIF.
  • Пиксель-арт вообще не стоит масштабировать. Используйте «Лёгкое», которое сохраняет исходные размеры.

Если вы делаете GIF из видео, размер обычно лучше контролировать ещё на этапе создания с помощью «Конвертировать видео в GIF», держа клип коротким, а затем при необходимости сжать результат.

Если результат не такой, как ожидалось

  • Файл почти не уменьшился. Скорее всего, исходник уже был оптимизирован: маленький, с низкой частотой кадров или уже с ограниченной палитрой. GIF с частотой 8–10 кадров в секунду почти ничего не выигрывает от снижения частоты. Поднимитесь на уровень выше.
  • Заметные полосы на градиентах. Это палитра на 128 или 64 цвета. Выберите уровень полегче.
  • Появилась сетчатая текстура. Это узор упорядоченного дизеринга. Сильнее всего он заметен на плавных градиентах при «Сильном» сжатии; «Лёгкое» или «Среднее» его уменьшают.
  • Странные цвета в одной сцене. Поскольку палитра одна на всю анимацию, короткой сцене с нетипичными цветами (красная вспышка посреди преимущественно синего ролика) достаётся меньше мест в палитре.

Ограничения и конфиденциальность

Принимаются файлы до 100 МБ, можно перетащить сразу несколько GIF. Они обрабатываются по очереди с тем уровнем, который выбран в данный момент, и для каждого результата показывается размер до и после. Скачивайте их по одному или одним ZIP-архивом.

Ничего не загружается на сервер. Движок FFmpeg скачивается один раз и дальше работает локально, поэтому скорость обработки зависит от вашего устройства. GIF на 20 МБ обычно обрабатывается от нескольких секунд до минуты; телефоны медленнее ноутбуков, а на старых устройствах очень длинным анимациям может не хватить памяти.

Вопросы и ответы

Насколько уменьшится файл?

Обычно на 60–80%. «Лёгкое» сохраняет полный размер и палитру и только снижает частоту кадров, «Среднее» уменьшает кадры до 75% и оставляет 128 цветов, «Сильное» — для лимитов чатов и почты.

Анимация продолжит зацикливаться?

Да. Тайминг кадров и зацикливание сохраняются, меняются только частота кадров, размер и количество цветов.

GIF загружается на сервер?

Нет. FFmpeg работает как WebAssembly прямо в браузере.

Почему при «Сильном» сжатии падает качество?

Он урезает палитру до 64 цветов, снижает частоту до 10 кадров/с и вдвое уменьшает размер. Градиенты начинают полосить, а плоская графика и записи экрана переносят это хорошо.

Не лучше ли использовать видео?

Для всего длиннее нескольких секунд — да, MP4 намного компактнее. «Конвертировать видео в GIF» в обратную сторону используйте, только если вам обязательно нужен именно GIF.

Читайте также

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