Сжать GIF онлайн — уменьшить размер гифки
Сожмите гиф-анимацию ровно настолько, чтобы она прошла ограничение на загрузку, никуда не отправляя файл. Сжатие выполняется локально: gifsicle, скомпилированный в WebAssembly.
- Без загрузки на сервер и регистрации
- Без водяного знака на результате
- Анимация и прозрачность сохраняются
Нужен точный размер? 256 КБ 512 КБ 1 МБ 2 МБ 5 МБ 10 МБ
Почему файлы GIF такие большие
GIF хранит каждый кадр как отдельное изображение со своей палитрой. Трёхсекундная запись экрана на 15 кадрах в секунду — это 45 хранимых изображений, поэтому размер растёт сразу и от длительности, и от частоты кадров, и от площади в пикселях. Именно поэтому короткий ролик, который в MP4 весил бы 400 КБ, превращается в GIF на 6 МБ.
Настоящего межкадрового сжатия у GIF тоже нет — он лишь хранит изменившийся прямоугольник каждого кадра. Как только в записи появляются градиенты, дизеринг или движение камеры, почти все пиксели меняются от кадра к кадру, и эта оптимизация перестаёт помогать.
Именно этим и занимается компрессор GIF: сменить кодек он не может, поэтому уменьшает палитру, сглаживает шум, мешающий сжатию повторов, уменьшает кадры или удаляет часть из них. Каждый из этих рычагов — видимый компромисс, поэтому здесь они вынесены по отдельности, а не спрятаны за один ползунок.
Что на самом деле делает каждая настройка
Размер снижают четыре рычага, и портят картинку они по-разному. Понимание, за какой браться, экономит массу проб и ошибок.
Уровень потерь
Разрешает округлять соседние пиксели к одной записи палитры, за счёт чего повторы сжимаются лучше. Это самый большой выигрыш на GIF, полученных из видео: в наших тестах ролик на 228 КБ похудел ещё на 7% при значении 30, на 15% при 80 и на 25% при 200. На плоской записи интерфейса эффекта почти нет — там нет шума дизеринга, который можно сгладить.
Цвета
Уменьшает палитру с 256 вплоть до 2 записей. На фотографиях и градиентах полосы появляются быстро; плоские скриншоты интерфейса и штриховая графика часто выдерживают 64 и даже 32 цвета без заметной разницы.
Масштаб
Уменьшает каждый кадр. Размер падает примерно как площадь в пикселях: 75% ширины — это около половины пикселей. Обычно это самое предсказуемое уменьшение, когда GIF должен уложиться в жёсткий лимит.
Прореживание кадров
Удаляет каждый второй или третий кадр. Размер падает почти пропорционально, а движение становится рваным. Хорошо для длинных записей экрана и плохо для коротких роликов, где важен именно тайминг.
Как сжать гиф и уменьшить размер гифки
Весь процесс идёт в этой вкладке браузера. Ничего не загружается на сервер, и очереди ждать не нужно.
- Перетащите GIF в инструмент или выберите файл на устройстве.
- Выберите уровень сжатия либо откройте расширенные настройки, чтобы управлять цветами, уровнем потерь, масштабом и прореживанием кадров.
- Нажмите «Сжать GIF» и сравните размер до и после.
- Скачайте результат. На выходе обычный GIF без водяного знака.
Как сжать гиф до 512 КБ, 1, 2, 5 или 10 МБ
Лимиты на загрузку почти всегда выражены круглыми числами. Этот инструмент не подгоняет файл под заданный размер автоматически, но понять, с чего начать, нетрудно. Ниже стартовые настройки для самых частых целей.
Сначала прикиньте, во сколько раз нужно уменьшить файл: разделите нужный размер на текущий. Если гифка весит 12 МБ, а нужно уложиться в 5 МБ, останется примерно 42% объёма. Вес примерно пропорционален площади кадра, поэтому уменьшение ширины и высоты до 65% (0,65 × 0,65 ≈ 0,42) нередко решает задачу само по себе, а меньшее число цветов и потери дают запас.
Это отправные точки, а не гарантия: результат зависит от самого ролика. После сжатия смотрите на размер в результате и меняйте по одной настройке за раз.
Когда GIF уже почти не уменьшится
Если GIF уже проходил через компрессор, лёгкие резервы исчерпаны. Повышение уровня потерь продолжит его уменьшать, но в какой-то момент артефакты дизеринга станут заметны раньше, чем файл ощутимо похудеет. Полезнее сравнивать превью «до» и «после» в полном размере, чем доверять одному проценту.
Короткие ролики с очень малым числом цветов — другой случай, где почти ничего не произойдёт. Двухцветный индикатор загрузки уже близок к минимуму, возможному для GIF: палитре и уровню потерь там почти нечего убирать.
Очень длинные или очень большие записи упираются в более жёсткий предел. Двадцатисекундная запись экрана на всю ширину не уложится в лимит 5 МБ с приемлемым качеством ни при каких настройках. Для такого случая правильный формат — видео: та же запись в MP4 будет в разы легче и качественнее.
Полезный порядок действий, когда вы сжимаете GIF под жёсткий лимит: сначала уменьшите масштаб — это самое предсказуемое сокращение и самая низкая цена в видимом качестве за сэкономленный килобайт. Затем поднимайте уровень потерь, пока в однотонных областях не начнут проступать артефакты. Потом уменьшайте число цветов, следя за градиентами. Прореживание кадров — в последнюю очередь: рваное движение зритель обычно замечает первым.
Ограничения на размер GIF в популярных сервисах
GIF почти всегда сжимают потому, что где-то его не приняли. Вот пороги, на которые стоит целиться, и то, что обычно помогает уложить запись экрана в них.
| Slack | Загружается нормально, но всё, что тяжелее примерно 2 МБ, в активном канале грузится медленно | Для короткого ролика хватает «Сбалансированного»; для записи на всю ширину уменьшите масштаб до 75%. |
| Discord | 10 МБ на бесплатном аккаунте | Длинным записям нужен уровень «Сильное» плюс уменьшение масштаба. Discord принимает и MP4 — он гораздо легче. |
| WhatsApp | Превращает GIF в видео, но очень большие файлы не отправляются | «Максимальное», либо удаляйте каждый второй кадр, если движение остаётся читаемым. |
| Электронная почта | Обычно 20-25 МБ на всё письмо | Сожмите GIF, а если это основное вложение — подумайте о ссылке вместо файла. |
| Issues и pull request на GitHub | 10 МБ на файл | «Сбалансированное» со 128 цветами оставляет запись интерфейса читаемой и уверенно укладывается в лимит. |
| Веб-страница | Жёсткого лимита нет, но GIF быстро портит Core Web Vitals | Сожмите как временное решение, а затем переведите этот элемент в MP4 или WebP. |
Если и после «Максимального» GIF не проходит, ролик просто слишком длинный для этого формата. Честный ответ — конвертировать его в видео: та же запись в MP4 обычно в пять-десять раз легче сжатого GIF и при этом качественнее.
Частые вопросы
Сохраняется ли анимация? ▾
Да. Все кадры, их тайминг и настройка зацикливания сохраняются. Кадры удаляются только если вы сами включите прореживание.
Сохраняется ли прозрачность? ▾
Да. Прозрачные области остаются прозрачными, поэтому GIF-стикер или анимированный логотип корректно ляжет на любой фон.
Есть ли ограничение на размер файла? ▾
Фиксированного лимита нет. Сжатие идёт в вашем браузере, поэтому практический потолок — память устройства. Очень большие GIF просто обрабатываются дольше.
Загружается ли мой GIF на сервер? ▾
Нет. Компрессор — это gifsicle, скомпилированный в WebAssembly, и он работает внутри этой страницы. Файл не покидает устройство, что важно для невыпущенных продуктовых записей и всего, что содержит данные клиентов.
Будет ли водяной знак? ▾
Нет. Вы скачиваете сжатый GIF и ничего кроме него, аккаунт не нужен.
Станет ли GIF меньше, если сжать его дважды? ▾
Редко и ненамного. Уменьшение палитры и сглаживание с потерями не складываются сколько-нибудь полезно: второй проход с теми же настройками вернёт почти тот же файл. Лучше изменить настройку — уменьшить масштаб или число цветов, — чем повторять то же сжатие.
Почему гифка почти не уменьшилась и как сжать её сильнее? ▾
Скорее всего, GIF уже был оптимизирован. Идите по порядку: сначала уменьшите масштаб, затем поднимайте уровень потерь, потом уменьшайте число цветов, а прореживание кадров оставьте напоследок. Если файл всё равно не проходит, ролик, вероятно, слишком длинный для формата GIF при таком размере.