TinyPNG 与 Squoosh 的替代方案,诚实对比

三个工具,三种不同的活儿。各自擅长什么、真正的差别在哪里,以及 tinyimg 目前还做不到什么。

由 tinyimg 项目撰写。我们与 TinyPNG(Tinify)和 Squoosh(Google)没有关联,双方也未审阅本页。下面的数字只是 tinyimg 自己的实测。

三个工具,三种不同的活儿

搜索 TinyPNG 替代、Squoosh 替代,或者更口语的“图片压缩工具”时,结果容易把三件不同的事混在一起:把一张图压好、把一个文件夹的图压完、把压缩放进构建流程或 CMS。大多数“TinyPNG 对比”页面回答的是没人问的问题——谁更强——而不是你手头这件活该用哪个工具。这一页想回答后者。

三者都属于广义的浏览器图片压缩,或者紧挨着它。它们不能互换,而真正重要的差别,通常不在那些被列出来的功能表里。

TinyPNG 擅长什么

TinyPNG 很成熟。它做图片压缩已经很多年,结果稳定可预期,压缩率也高:它用的智能有损编码,通常能在相同观感下压出比朴素重编码更小的文件。

它更大的优势是集成。它提供 API、常见 CMS(包括 WordPress)的插件,也能接进构建工具。如果你想让压缩发生在已有的流程里——网站上传、CI 的静态资源步骤、设计工作流——TinyPNG 是接入成本最低的选择,对很多团队来说这就是决定因素。

这个取舍是事实,不是批评:TinyPNG 在自己的服务器上处理图片,所以文件会被上传。正是这一点让 API 和插件成为可能。如果你的图片可以离开设备,这个取舍通常没问题。

Squoosh 擅长什么

Squoosh 是 Google 的开源图片工具。它在浏览器里运行,文件留在设备上,而且它恰好擅长批量工具不擅长的事:仔细看一张图。你可以并排比较格式、拖动质量滑块同时观察体积和瑕疵的变化、改尺寸,还能调整大多数工具藏起来的编码器参数。

如果你要为某张照片在 AVIF 和 WebP 之间做决定,或者想知道某个质量档位到底付出多少代价,Squoosh 是更合适的仪器。它也是开源的,背后的编解码器与许多工具(包括本站)同源。

它不是为量设计的。Squoosh 围绕一张一张图来组织;如果你有三百个文件,它就是形状不对的工具,再怎么调参数也改变不了这一点。

最容易验证的那一个差别

在大家最在意的那条轴上——文件会不会离开我的设备——Squoosh 和 tinyimg 站在同一边:两者都在浏览器里压缩。TinyPNG 按设计站在另一边。人们常把这两个本地工具混为一谈;在这条轴上它们确实一致,尽管它们是为不同的活造的。

tinyimg 的主张很窄,也可以验证:压缩图片,不上传。打开页面,断网,把文件拖进去,它照样压缩——因为编解码器是已经在浏览器里的 WebAssembly 模块,计算发生在本地 worker。一分钟就能验证,这正是重点。

第二个差别是批量。tinyimg 是为文件夹而不是单个文件造的:队列、按机器核数设定的 worker 池、每个文件压缩前后的体积、最后一个 zip。Squoosh 有意不做这件事。TinyPNG 通过上传器和 API 做到了。

TinyPNGSquooshtinyimg
在哪里运行他们的服务器你的浏览器你的浏览器
最擅长集成、API、成熟的压缩单图、格式实验、参数调节不上传的批量压缩
批量处理有,通过上传器和 API没有,一次一张有,队列加 zip
API有没有没有
单图参数调节有限丰富没有
WordPress 插件有没有还没有
使用年限与案例长长,开源较短

tinyimg 没有什么

这是对比页通常会略过的部分,而略过它,正是这类页面读起来像营销的原因。

我们自己的数字,以及它们说明不了什么

我们在 /benchmarks 公开 tinyimg 的实测:十个样本、每个五次、同一台机器(Apple M4,headless Chrome 155),走的是线上同一个 worker 路径。12 MP 照片:JPEG 从 4.92 MB 压到 444.4 KB(8.8%),中位数 677 ms;WebP 325.2 KB,997.5 ms;AVIF 121.8 KB(2.4%),1,983.2 ms。1.36 MB 的 PNG 截图无损压到 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