Альтернативы TinyPNG и Squoosh: честное сравнение

Три инструмента, три разные задачи. Что каждый делает хорошо, в чём настоящая разница и чего tinyimg пока не умеет.

Написано проектом tinyimg. Мы не связаны с TinyPNG (Tinify) и Squoosh (Google), и ни те ни другие не проверяли эту страницу. Цифры ниже — наши собственные измерения tinyimg.

Три инструмента, три разные задачи

По запросам «альтернатива TinyPNG», «альтернатива Squoosh» или более размытому «сжатие изображений в браузере» выдача смешивает три разные задачи: хорошо сжать одну картинку, сжать целую папку и встроить сжатие в сборку или CMS. Большинство страниц «TinyPNG vs» отвечают на вопрос, которого никто не задавал — кто победил, — вместо того чтобы сказать, какой инструмент подходит к текущей работе. Эта страница пытается ответить на второе.

Все три в широком смысле относятся к сжатию изображений в браузере или стоят рядом. Они не взаимозаменяемы, и важные различия обычно не те, что перечислены в таблицах функций.

Что хорошо получается у TinyPNG

TinyPNG зрелый. Он сжимает изображения много лет, результаты предсказуемы, и сжимает он хорошо: умное сжатие с потерями обычно даёт файл меньше, чем наивное перекодирование при том же визуальном качестве.

Главное преимущество — интеграция. Есть API, плагины для распространённых CMS, включая WordPress, и подключение к инструментам сборки. Если нужно, чтобы сжатие происходило внутри уже существующего процесса — загрузок на сайте, шага сборки в CI, дизайн-процесса — TinyPNG требует меньше всего работы, и для многих команд это решает дело.

Это факт, а не упрёк: TinyPNG обрабатывает изображения на своих серверах, поэтому файлы загружаются. Именно это делает возможными API и плагины. Если изображения можно отдавать с устройства, такой обмен обычно приемлем.

Что хорошо получается у Squoosh

Squoosh — открытый инструмент Google для изображений. Он работает в браузере, файлы остаются на устройстве, и он отлично делает то, в чём пакетный инструмент плох: внимательно смотреть на одну картинку. Можно сравнивать форматы рядом, двигать ползунок качества и видеть, как меняются вес и артефакты, менять размер и настраивать параметры кодера, которые большинство инструментов скрывает.

Если вы выбираете между AVIF и WebP для конкретной фотографии или хотите увидеть, чем на самом деле платите за настройку качества, Squoosh — более подходящий инструмент. Он ещё и открытый, а кодеки под ним — из того же семейства, что и у многих других инструментов, включая этот.

Он не рассчитан на объём. Squoosh строится вокруг одной картинки за раз; если у вас триста файлов, это инструмент неправильной формы, и никакая настройка этого не изменит.

Самое простое для проверки различие

По самой важной оси — покидает ли файл устройство — Squoosh и tinyimg на одной стороне. Оба сжимают в браузере. TinyPNG по замыслу на другой. Два локальных инструмента часто валят в одну кучу; по этой оси они действительно совпадают, хотя сделаны для разной работы.

Утверждение tinyimg узкое и проверяемое: сжимать изображения без загрузки. Откройте страницу, отключите сеть, перетащите файл. Сжатие всё равно работает, потому что кодеки — это модули WebAssembly, уже находящиеся в браузере, а работа идёт в локальном воркере. Это проверяется за минуту, в этом и смысл.

Второе различие — пакетная обработка. tinyimg сделан для папки, а не для файла: очередь, пул воркеров по числу ядер машины, размеры до и после для каждого файла и один zip в конце. Squoosh намеренно этого не делает. TinyPNG делает — через загрузчик и API.

TinyPNGSquooshtinyimg
Где работаетИх серверыВаш браузерВаш браузер
Лучше всегоИнтеграции, API, зрелое сжатиеОдна картинка, опыты с форматами, настройкаПакетное сжатие без загрузки
Пакет изображенийДа, через загрузчик и APIНет, по одномуДа, очередь и zip
APIЕстьНетНет
Настройка под картинкуОграниченнаяШирокаяНет
Плагин WordPressЕстьНетПока нет
ИсторияДолгаяДолгая, открытый кодКороче

Чего у tinyimg нет

Это часть, которую страницы сравнений обычно опускают, и именно из-за этого они читаются как реклама.

Наши цифры и то, чего они не говорят

Мы публикуем измерения tinyimg на /benchmarks: десять образцов, по пять прогонов, одна машина (Apple M4, Chrome 155 без интерфейса), тот же путь воркера, что и на сайте. На фотографии 12 MP выход JPEG — 444.4 KB из 4.92 MB (8.8%), медиана 677 ms; WebP — 325.2 KB за 997.5 ms; AVIF — 121.8 KB (2.4%) за 1,983.2 ms. Скриншот PNG 1.36 MB вышел 600.6 KB без потерь за 613 ms, а в WebP — 21.0 KB за 151 ms.

Это цифры tinyimg на одной машине, и это не сравнение. Мы не измеряли TinyPNG и Squoosh. Мы не знаем, что каждый из них дал бы на этих образцах, и делать вид, что знаем, было бы нечестно. Кодер TinyPNG зрелый и вполне может давать меньшие файлы на некоторых изображениях; Squoosh даёт настройки, которые могут обойти любой фиксированный режим. Если решение важно, прогоните свои изображения через все три инструмента и сравните результат сами.

Как выбрать

Вот и вся честная версия. tinyimg — альтернатива этим инструментам для одной задачи, а не замена им во всём, и он не связан ни с одним из них. TinyPNG — продукт Tinify; Squoosh — открытый проект Google; имена и знаки принадлежат им.

← Назад к tinyimg

en · zh-CN · ja · ko · es · fr · ru · ar