← 退出

图片压缩

调整质量与尺寸,减小体积

关于图片压缩

这个工具解决的是一个很具体的问题:一张图片太大,传不上去。它把你选的图片缩小到不超过设定的宽度,再按设定的质量重新编码成 JPG,并在每张图旁边显示压缩前后的 KB 数。它不会替你自动达到某个目标体积(比如「压到 200KB 以内」),需要你自己拖滑块试;它也不改变格式,输出一律是 JPG。适合要往表单、论坛、网页后台传图,或想先瘦身一批照片再发给别人的人。

操作步骤

  1. 点击「点击上传图片,可多选」,选一张或多张图片;也可以之后继续添加,新选的会追加到列表里。
  2. 拖动「最大宽度」滑块(200–2400px,默认 1280px)。图片比这个宽度宽就会等比缩小,本来就更窄的不会被放大。
  3. 拖动「压缩质量」滑块(10%–100%,默认 70%)。每次调整,所有图片都会用新参数重新压缩一遍。
  4. 对照每一行的「原始 KB → 压缩后 KB · 宽×高」决定是否满意,点下载图标保存单张,或在多张时点「打包下载全部」得到 compressed-images.zip。
  5. 不想要的图片,点行尾的 × 从列表中移除。

一个例子:宽度和质量,哪个更管用

我们用脚本生成了一张 3000×2000 的合成测试图(渐变、色块加噪点,不是真实照片,噪点会让体积偏大),按本工具同样的思路——缩放后以 JPEG 重新编码——观察到:宽度保持 3000px 时,质量 95% 约 2700KB,70% 约 675KB,30% 约 203KB;宽度限制为 1280px 时,同样 70% 只有约 117KB。也就是说在这个样本里,把宽度从 3000 压到 1280 的减幅,比把质量从 95% 降到 70% 还要大。真实照片的数字会不同,取决于画面内容(纹理越复杂越难压),这里只说明规律:如果图片最终只是在网页或手机屏幕上看,先降宽度;宽度够用后,再用质量微调,多数情况下 60%–80% 是个合理的试探区间。

支持范围与已知限制

  • 输入:浏览器能解码、且类型为 image/* 的文件(常见的 JPG、PNG、WebP 等,具体取决于你的浏览器)。无法解码的文件会被悄悄跳过,结果里就不会出现它。
  • 输出永远是 JPG,文件名为「原名-compressed.jpg」。带透明背景的 PNG 会被转成 JPG,透明区域会变成黑色,不适合用这个工具处理抠好的透明图。
  • 动图(GIF 等)只会得到一帧静态画面。
  • 画布重新编码不会保留原图中的拍摄信息(如相机型号、GPS 定位)。这对隐私是好事,但如果你需要保留这些信息,不要用本工具。
  • 没有「体积不会变大」的保护:一张本身已经压得很小的图,若把质量调到很高,结果可能比原图还大,请以页面显示的 KB 数为准。
  • 所有图片同时在浏览器内存里处理,一次选入几十张超大原图,低配手机可能变慢或卡住。

为什么压缩后图片反而变大了?

原图可能已经是较高压缩率的 JPG,或是很小的图片,而你把质量设得很高(接近 100%)。JPG 重新编码是有损再压缩,不会因为「再压一次」就一定更小。把质量往下调,或降低最大宽度即可。

PNG 截图压缩后背景变黑了?

因为输出是 JPG,不支持透明。带透明区域的 PNG 转换后,透明部分会呈现黑色。需要保留透明的图片,请不要用这个工具。

怎么刚好压到某个大小以内,比如 200KB?

工具没有目标体积模式,只能手动试:先把最大宽度降到你实际需要的尺寸,再逐步降低质量,直到页面显示的压缩后 KB 数低于限制。注意页面按 1024 字节算 1KB 并四舍五入到整数,贴着上限时请留一点余量。

多张图下载的 ZIP 里少了几张?

ZIP 里的文件名由原文件名加「-compressed.jpg」生成。如果你选的几张图原名相同(比如来自不同文件夹的 image.jpg),它们在 ZIP 里同名,后面的会覆盖前面的。建议先改成不同的文件名,或者用单张下载。

图片会被上传到服务器吗?

不会。读取、缩放、重新编码都由你的浏览器完成,代码里没有任何上传图片的网络请求,关闭页面后处理结果也不会保留。只有点击「打包下载全部」时,才会临时加载生成 ZIP 的脚本模块。