MiniPNG

Стиснення GIF онлайн

Стискайте GIF та дізнайтеся, чому розмір так відрізняється

Хвилинку...(/)

Ми оптимізуємо ваші зображення. Будь ласка, зачекайте, поки ми забезпечимо найкращу якість результатів.

Чудово, ми успішно стиснули ваші зображення.

Зображення оптимізовано.

Стисніть GIF-зображення і дізнайтеся, чому ступінь стиснення так сильно відрізняється

Завантажте два GIF-файли на цю сторінку, і ви можете отримати 40 відсотків зменшення для одного і зовсім нічого для іншого. Це не означає, що інструмент працює непослідовно, і варто зрозуміти це перед завантаженням, адже саме це найбільше збиває з пантелику у GIF. У GIF немає повзунка якості. Усередині нього немає нічого, що можна було б обміняти на менший розмір, як у JPEG. Все, що може зробити компресор GIF — це видалити повтори, тому результат майже повністю залежить від того, скільки повторів було у вашому файлі спочатку.

Де насправді знаходяться байти у GIF

У двох місцях, і жодне з них не є зображенням у тому сенсі, як це уявляє собі фотограф. Перше — це таблиця кольорів: кожен GIF містить палітру до 256 кольорів, а анімований GIF може мати окрему палітру для кожного кадру. Друге — це кадри. Якщо GIF записаний недбало, кожен кадр зберігається повністю, і вся область малювання перемальовується тридцять разів, щоб пересунути одну маленьку коробку по екрану.

Тому завдання — об'єднати ці палітри кадрів у одну спільну таблицю і припинити зберігати те, що не змінилося. Жоден з цих кроків не впливає на ваші кольори. У першому тесті нижче 29 окремих палітр кадрів стали однією глобальною таблицею, файл втратив 40 відсотків ваги, а чотири вибрані кольори повернулися точно такими, як були на початку.

Що ми вимірювали

Ми пропустили шість файлів через цю сторінку і записали кількість байтів у результаті.

ФайлОригіналПовернутоЗміна
Анімація екранного запису, 30 кадрів, 640 на 40041 699 байтів24 994-40,1%
Один кадр із прозорим фоном1 990 байтів1 861-6,5%
Анімація вже щільно закодована, 24 кадри334 312 байтів334 027-0,1%
Один кадр вже на одній щільній палітрі56 676 байтів56 6760%
Восьмикадрова анімація з коментарями, XMP, GPS і кольоровим профілем15 850 байтів9 953-37,2%
PNG, завантажений на цю сторінку703 830 байтів74 379-89,4%

Файл із 40 відсотками і файл із 0 відсотками пройшли через один і той самий інструмент

Перший рядок — це екранний запис: тридцять кадрів, більшість області малювання ідентична від кадру до кадру, і майже на кожному кадрі окрема палітра. Було багато повторів для видалення. П'ятий рядок — це один статичний кадр, вже на одній щільній палітрі з 256 кольорів, тому видаляти було нічого, і він повернувся точно з розміром 56 676 байтів, з яким був завантажений.

Це чесна версія обіцянки, яку більшість сторінок у цих результатах пошуку дають гучно. Якщо ваш GIF створено відеоконвертером, екранним рекордером або старим експортним пресетом — очікуйте реальної економії. Якщо файл вже пройшов через оптимізатор, не чекайте великої різниці, і сприймайте нуль як чесну відповідь інструменту, а не як втрату якості заради красивого відсотка.

Ваша анімація повертається як анімація

Ми перевірили це на рівні байтів, а не просто переглядаючи її. Стиснутий файл із тридцятьма кадрами все ще містив тридцять кадрів, тридцять блоків часу з оригінальною затримкою у 80 мілісекунд і розширення циклу, яке вказує браузеру повторювати анімацію. Область малювання залишилася 640 на 400. Нічого не було перетворено на статичне зображення і жоден кадр не був видалений для покращення показників.

Прозорість зберігається, як і ваші точні кольори

Прозорий GIF повернувся на 6,5 відсотків меншим. Ми намалювали результат на області малювання і зчитали чотири пікселі: кут залишився повністю прозорим, червоний — все ще 220, 40, 60, а білий — абсолютно білий. Така ж перевірка тридцятикадрової анімації показала, що її заголовковий синій, сірий сторінки, сірий рядка і червона коробка залишилися незмінними після 40-відсоткового зменшення. Оскільки економія досягається шляхом видалення повторів, а не наближенням кольорів, саме цього і слід очікувати.

Якщо файл все ще занадто великий після стиснення

Компресор може видалити лише те, що повторюється. Він не може вирішити, що ваша анімація на чотири секунди довша, ніж потрібно, або що їй не потрібно бути 800 пікселів завширшки. Ці рішення приймаються до того, як файл потрапляє на цю сторінку, і саме вони визначають мінімальний розмір. Арифметика проста: GIF коштує приблизно стільки, скільки площа області малювання, помножена на кількість кадрів, тому зменшення ширини і висоти вдвічі зменшує розмір приблизно на три чверті, а зниження частоти кадрів з тридцяти до дванадцяти зазвичай непомітне на коротких кліпах. Якщо стиснутий GIF все ще важчий, ніж ви хочете, ці два параметри дадуть набагато більший ефект, ніж будь-який оптимізатор.

Будь-який текст, прихований у файлі, також видаляється

GIF може містити неочікувано багато тексту, який ви ніколи не побачите, і не весь він зберігається в одному місці. Є блоки коментарів, які в анімації можуть бути на кожному кадрі. Є XMP-пакет — місце, де Photoshop та інші інструменти Adobe зберігають марку і модель камери, автора та рядки з авторським правом, а також GPS-координати. Є plain-text розширення і кольорові профілі. Нічого з цього не видно при перегляді зображення.

Ми створили файл, що містив усе це: десять блоків коментарів, повний XMP-пакет із широтою, довготою, висотою і датою зйомки, марку і модель камери, програму, яка його створила, рядок з авторським правом і кредитом, кольоровий профіль і plain-text розширення. Потім ми пропустили його через цю сторінку і перевірили результат інструментом для читання метаданих. Усього цього вже не було. Вісім кадрів залишилися вісім кадрів, а анімація все ще повторювалася нескінченно.

Це відбувається під час того ж проходу, що й стиснення, тому вам нічого не коштує і не потрібно завантажувати файл вдруге. Це також пояснює результат, який інакше може здатися дивним: файл може повернутися меншим, навіть якщо компресор не знайшов повторів для видалення, адже текст, що був усередині, вже видалений.

Інші типи зображень також приймаються на цій сторінці

Завантажувач також приймає PNG, JPG, JPEG, WEBP, AVIF, SVG, TIFF, BMP і JFIF, і кожен файл повертається у тому ж форматі, в якому був завантажений. PNG у таблиці вище був завантажений як PNG і повернувся як PNG, усе ще 1400 на 900, коли ми прочитали його заголовок. Перехід на сторінку GIF не перетворює ваші інші зображення на щось інше.

Що ви отримуєте

  • Кожен кадр, кожна затримка кадру і налаштування циклу збережені
  • Прозорість збережена, з тими ж значеннями кольорів, що й на початку
  • Оригінальний розмір області малювання, без змін
  • Палітри кадрів об'єднані в одну спільну таблицю, звідки йде основна економія
  • Коментарі, XMP, GPS-координати, деталі камери й автора та кольорові профілі видаляються під час того ж проходу
  • Ваші дані зображення не змінюються, якщо немає повторів для видалення
  • Без реєстрації, без водяних знаків, без електронної пошти

Що далі?

Для фотографій, а не анімацій, Видалити метадані з фото очищає EXIF і GPS без повторного кодування зображення. Якщо ваш GIF — це один статичний кадр, а не анімація, Стиснути PNG зазвичай краще підходить для нього. А для того ж вмісту у форматі, розробленому значно пізніше, ніж 1987 рік, Стиснути WebP працює і зі статичними, і з анімованими зображеннями.

Часті запитання

Тому що в ньому майже не залишилося повторів. У GIF немає налаштування якості, тому компресор не може обміняти різкість на розмір, як це робить інструмент для JPEG. Він може лише об'єднати палітри кольорів кадрів в одну і припинити повторно зберігати частини області малювання, які не змінювалися. Екранний запис, який ми тестували, зменшився на 40,1 відсотка, бо був повний повторів — з 41 699 байтів до 24 994. Один кадр, вже на щільній палітрі, не втратив нічого і повернувся точно з розміром 56 676 байтів, з яким був завантажений. Обидва файли пройшли через один і той самий інструмент в один і той самий день.

Так, і ми перевірили це на рівні байтів, а не просто переглядаючи її. Стиснутий файл із тридцятьма кадрами все ще містив тридцять кадрів, тридцять блоків часу з оригінальною затримкою у 80 мілісекунд і розширення циклу, яке вказує браузеру повторювати анімацію. Область малювання залишилася 640 на 400. Нічого не було перетворено на статичне зображення і жоден кадр не був видалений для покращення показників.

Ні, принаймні у всьому, що ми вимірювали. Економія досягається шляхом видалення повторів, а не наближенням зображення. Після 40-відсоткового зменшення ми намалювали результат на області малювання і зчитали пікселі: заголовковий синій, сірий сторінки, сірий рядка і червона коробка були ідентичні оригіналу. У прозорому GIF кут залишився повністю прозорим, червоний — все ще 220, 40, 60, а білий — абсолютно білий.

Так, усі, під час того ж проходу, що й стиснення. GIF приховує дані у кількох місцях одночасно: блоки коментарів, які можуть повторюватися на кожному кадрі, XMP-пакет із маркою і моделлю камери, автором, рядками з авторським правом і GPS-координатами, а також plain-text розширення і кольорові профілі. Ми створили файл із усім цим, пропустили його через цю сторінку і перевірили результат інструментом для читання метаданих. Десять блоків коментарів повернулися як нуль. Широта, довгота, висота, дата зйомки, модель камери, автор, кредит і авторське право стали порожніми, а XMP-пакет зник повністю. Вісім кадрів залишилися вісім кадрів, а анімація все ще повторювалася.

Змініть дві речі, які компресор не має права змінювати: розмір області малювання і кількість кадрів. GIF коштує приблизно стільки, скільки площа області малювання, помножена на кількість кадрів, тому зменшення ширини і висоти вдвічі зменшує розмір приблизно на три чверті, а зниження частоти кадрів з тридцяти до дванадцяти зазвичай непомітне на коротких кліпах. Відрізати секунду з кінця допоможе більше, ніж будь-який оптимізатор. Якщо GIF — це насправді одне статичне зображення, йому взагалі не потрібно бути GIF.

Так. Завантажувач приймає PNG, JPG, JPEG, WEBP, AVIF, SVG, TIFF, BMP і JFIF разом із GIF, і кожен файл повертається у тому ж форматі, в якому був завантажений. PNG, який ми тут завантажили, зменшився з 703 830 байтів до 74 379 і повернувся як PNG, усе ще 1400 на 900, коли ми прочитали його заголовок. Нічого не перетворюється в інший формат лише тому, що ви відкрили певну сторінку.