早上想给网站后台传张证件照,点上传,啪——「文件超过限制」。换张产品图发群里,又提示「图片格式不支持」。

现在手机随手拍都是几 MB、十几 MB,可很多平台的上传框还停留在「2MB 以内」的年代。等到真要去压图,搜个「在线图片压缩」,打开又是满屏广告、弹窗、真假难辨的下载按钮,压几张就提示「次数用完,高清需充值会员」。一张图还没压完,时间先搭进去半小时。

更要命的是隐私。证件照、合同截图、设计稿,传到不认识的网站走一圈,总归不踏实。

有个谷歌出的开源小工具,Squoosh,专门治这些毛病:浏览器里打开就能压,不装软件、不注册、没广告,最关键——图片全程在你自己设备上处理,不上传任何服务器。

它到底是什么

Squoosh 是 Google Chrome Labs 做的开源图片优化 Web 应用,Apache-2.0 协议,代码全在 GitHub(GoogleChromeLabs/squoosh,现在 ★26k 出头)。它本质上是把一整套专业图像编码器塞进了网页:你拖张图进去,左边原图、右边压完的效果,中间一条滑块能实时对比,右下角直接显示压完的体积和节省百分比,满意就下载。

不用下载客户端,不用登录。打开 squoosh.app 就能用,首次加载后还能「安装」到桌面/手机主屏,之后离线也能压——它是个 PWA。

能干什么

① 压缩体积。 最常用的功能。一张几 MB 的照片,选个合适的编码和画质,体积能砍掉一大块,发邮件、传网站都轻松,肉眼还看不出差别。

② 格式转换。 很多上传失败不是因为大,是因为格式不对。Squoosh 能在 JPG、PNG、WebP、AVIF 之间互转,解决「平台不支持这个格式」的问题。

③ 调尺寸。 手机照片动辄三四千像素,但头像、文章配图、网站 banner 根本用不到那么高分辨率。直接缩像素,体积也跟着下来,加载还快。

④ 实时看效果。 这点很舒服:原图 vs 压缩图并排,拖滑块即时预览,画质和压缩比例随时调,找到那个「又小又清楚」的平衡点再保存。

⑤ 隐私优先。 大多数在线工具要把图传服务器上跑,Squoosh 直接在浏览器里用 WebAssembly 算完。官方明确说图片不会发到服务器(Analytics 只记访问量和前后文件大小,不含图本身)。证件、合同这类敏感图,用它最安心。

技术上是怎么做到的

Squoosh 不是简单「调个库压缩」,它集成了一票业界最好的开源编码器,让你直观对比不同格式在同一张图上的表现:

  • MozJPEG:JPEG 的最优实现,兼容性拉满,想保最大通用性就选它
  • WebP:谷歌的格式,体积比 JPEG 小一大截,现在几乎所有浏览器、App、网站都吃得下
  • AVIF:新一代格式,同等画质通常比 JPEG 再省 50% 以上,压得最狠(Chrome/Safari/Firefox/Edge 都已支持)
  • OxiPNG:PNG 的无损压缩,截图、带文字的图、要保透明底的 Logo 用它,字不会糊
  • 还有 JPEG XL(beta)、QOI 等可以尝鲜

所有这些编码都在你浏览器的 WebAssembly 引擎里本地跑,所以才能做到「图不出设备」。代价是:它是单张处理,没有批量拖一堆一起压的功能;超大分辨率图跑 AVIF 时,本地 CPU 会短暂占得比较高。量大就老老实实逐张来——好在免费、无限次、不用排队。

一个直观的例子

官方演示过:一张 1.4MB 的图,转成 WebP 压到 80KB,直接省了 94% 的空间。实际用下来,照片类画质拉到 75–85 就是甜蜜点——再往下肉眼就开始糊,再往上体积又回来了。

博客配图、网站图片、要发的产品图,压一遍再传,页面加载和上传成功率都好很多。

想自己部署?Cloudflare Pages 几步搞定

不想用官方站、想在自己的域名下挂一份?它本身就是个能静态托管的 Web 应用,按官方文档扔到 Cloudflare Pages 就行:

  1. Fork GoogleChromeLabs/squoosh 到自己的 GitHub
  2. Cloudflare 控制台 → Compute → Workers 和 Pages → 新建
  3. 部署源选 GitHub,授权后绑定刚才 Fork 的仓库
  4. 生产分支填 dev,构建命令 npm run build,输出目录 build(其它保持默认)
  5. 部署完打开分配的域名即可

就这五步,不需要数据库、不需要环境变量。想改界面或加编码,改完推上去自动重新构建。

值不值得用

能白嫖的:代码 Apache-2.0 免费、官方站免费、自己部署也免费,没会员、没次数限制。

得知道的局限:单张处理无批量(量大靠耐心)、复杂 AVIF 编码吃本地 CPU、它停在你「压完下载」这一步——不会顺手帮你上传到目标平台。

隐私这一项可以放心:纯客户端执行,多家隐私审计都验证过交互期间没有任何图片数据外发。处理证件、合同、设计稿这类敏感图,它是目前最省心的选择之一。

适合谁 / 不适合谁

适合
  • 经常被上传大小/格式卡住的人:证件照、资料图、产品图,压一下就能传
  • 自媒体 / 博客作者:配图压一遍再传,页面加载更快
  • 网站开发者:优化页面图片、提页面速度,格式选型一目了然
  • 隐私敏感用户:证件、合同、设计稿不想上传陌生站点
  • 想练 Cloudflare Pages 部署的人:这项目构建配置干净,是很好的练手对象
不适合
  • 需要一次性批量压几百张的(它单张,无批量模式)
  • 想要「压完直接帮你上传到目标平台」一条龙的
  • 对画质有工业级批处理要求、要走专业工作流的(得上 ImageOptim / Kraken 这类或本地脚本)
Squoosh 开源 Apache-2.0 浏览器本地

Google Chrome Labs 出品的图片优化 Web 应用:基于 WebAssembly 在浏览器本地完成压缩、格式转换(MozJPEG / WebP / AVIF / OxiPNG)和尺寸调整,图片不上传服务器,可安装为 PWA 离线使用。集成业界最佳开源编码器,原图与压缩图实时并排对比。

★ 26,083GitHub Star
⑂ 2,201Fork
Apache-2.0开源协议
TypeScript WebAssembly 图片压缩 隐私优先