Альтернативы TinyPNG и Squoosh: честное сравнение
Три инструмента, три разные задачи. Что каждый делает хорошо, в чём настоящая разница и чего 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.
| TinyPNG | Squoosh | tinyimg | |
|---|---|---|---|
| Где работает | Их серверы | Ваш браузер | Ваш браузер |
| Лучше всего | Интеграции, API, зрелое сжатие | Одна картинка, опыты с форматами, настройка | Пакетное сжатие без загрузки |
| Пакет изображений | Да, через загрузчик и API | Нет, по одному | Да, очередь и zip |
| API | Есть | Нет | Нет |
| Настройка под картинку | Ограниченная | Широкая | Нет |
| Плагин WordPress | Есть | Нет | Пока нет |
| История | Долгая | Долгая, открытый код | Короче |
Чего у tinyimg нет
Это часть, которую страницы сравнений обычно опускают, и именно из-за этого они читаются как реклама.
- Нет API. Нет эндпоинта, который можно вызвать. Если сжатие нужно в серверной задаче или на шаге CI, tinyimg этого не может.
- Плагина WordPress пока нет. Плагин для Figma есть, для WordPress — нет. Если плагин для CMS обязателен, сегодня ответ — TinyPNG.
- Нет интерфейса настройки под каждую картинку. Формат выхода выбрать можно, ползунка качества для каждой картинки и сырых параметров кодера — нет. tinyimg выбирает настройки сам и стремится к разумному результату. Если нужна тонкая настройка, Squoosh делает это лучше.
- Меньше истории. За TinyPNG и Squoosh стоят годы странных файлов. 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 даёт настройки, которые могут обойти любой фиксированный режим. Если решение важно, прогоните свои изображения через все три инструмента и сравните результат сами.
Как выбрать
- Сжатие внутри существующей системы, загрузка допустима: TinyPNG. API и плагины — это и есть функция.
- Одна картинка, опыты с форматами, контроль по изображению: Squoosh. Ничто здесь его не заменяет.
- Папка изображений, без загрузки, без размышлений о настройках: tinyimg.
Вот и вся честная версия. tinyimg — альтернатива этим инструментам для одной задачи, а не замена им во всём, и он не связан ни с одним из них. TinyPNG — продукт Tinify; Squoosh — открытый проект Google; имена и знаки принадлежат им.