1 选图片
2 说清楚最大能有多大
别的压缩工具这一步都做反了。它们丢给你一个画质滑块,让你自己猜哪一档能压进人家给的限额。这里反过来,你把限额说出来,工具去找刚好塞得进去的那个最高画质,然后把剩下的额度用满,不会把你要的 500 KB 压成一个 300 KB 的文件交回来。
实在不行,可以把图片做小 只有画质单独往下降、已经降到压缩痕迹开始露出来的时候才会动它。过了那一档,像素少一点但个个干净,比像素多一堆却全糊了好看。关掉它就是尺寸一格不动,目标再紧也全从画质里出。
3 压缩
压好了
# 图片压缩 — 压缩到文件大小上限内 说个大小,剩下的它来算。 > 将 JPEG、PNG、WebP 或 AVIF 压缩到 100 KB、2 MB 等文件大小上限内。目标是达到或低于上限,并非精确匹配字节数。无需上传,可离线使用。 这是一个浏览器交互工具,地址是 https://abox.tools/zh/compress-image/。文件在运行该浏览器的设备上处理。主动分享和可选联网功能都在页面上说明。下文是它的文字说明;使用工具请打开该地址。 ## 你的图片**在浏览器里处理**,无须上传处理。 压缩在你自己的浏览器里、用你自己的硬件完成,用的是浏览器本来就带的编码器。这个工具没有任何联网功能,不取东西,也不发东西。就算真有,这个页面的另一头也没有服务器能接住一张图。 - ✗ 不上传 - ✗ 不注册 - ✗ 不限大小 - ✓ 断网能用 - ✓ 开源 ## 图片怎么压到指定大小 1. **选好你的图片。** 拖到下面的方框里,或者点开自己挑。浏览器直接从你的硬盘上读,这期间没有东西发出去。 2. **填上人家要求的那个大小。** 上传框死活不收你照片,那多半是 100 KB;申报系统常见 500 KB;网页要开得快,2 MB。最常用的四个数字直接做成了按钮。 3. **按“压到这个大小”。** 每张图会被反复编码几遍,工具一步步逼近那个既能塞进去、画质又最高的档位。本来就没超标的文件,原样放行,一个字节都不动。 4. **看看代价有多大,然后下载。** 每个结果都写明存成了什么格式、用了哪一档画质、尺寸有没有变,以及量出来跟原图有多接近。按“对比”,两张图并排放着看。 ## 说得更细的版本 [如何将图片压缩到文件大小上限内](https://abox.tools/zh/guides/compress-an-image-to-a-target-size/): 上传框要 500 KB,你的照片有 4 MB。一个大小限制到底要你付出什么,先动哪个设置,以及 PNG 为什么不像 JPEG 那样能压。 ## 工具箱里还有 - [图片缩放](https://abox.tools/zh/resize-image/): 说个尺寸,拉个框,挑个格式。 - [HEIC 转 JPG](https://abox.tools/zh/heic-to-jpg/): iPhone 拍的照片,换成什么都打得开的格式。 - [WebP 转 JPG](https://abox.tools/zh/webp-to-jpg/): 把网页保存的图片,变成所有软件仍然接受的格式。 - [PNG 转 WebP](https://abox.tools/zh/png-to-webp/): 同一张图片,常常减少三分之一体积,透明区域保持完整。 ## 常见问题 ### 我的图片会传到什么地方去吗? 不会。解码、压缩、测量,全由你自己的浏览器在你自己的硬件上完成,用的是浏览器自带的 JPEG、PNG 和 WebP 编码器。这个工具没有任何联网功能,不取东西,也不发东西。页面的 `Content-Security-Policy` 把它可能联的地址全列了出来,没有一个是本站的。 ### 如何达到文件大小上限? 工具编码并测量多个候选结果,寻找上限内最高的画质。如果能够生成合适的文件,结果达到或低于目标,但不一定等于输入的精确字节数。已低于上限的文件保持不变。如果仅调整画质仍不够,工具会缩小尺寸;使用前请检查结果。 ### 所谓“损失最小”,具体指什么? 三件很具体的事。第一,本来就没超标的图原样放行,不重新编码。第二,先花画质,后动分辨率,而且画质只降到压缩痕迹开始露出来那一档为止。再往下,工具改成把图片做小、把画质提回去,因为像素少一点但个个干净,比像素多一堆却全糊了好看。第三,一旦找到塞得进去的结果,搜索还会往回顶,把剩下的额度用满。你要 500 KB,就不会拿回一个 300 KB 的文件。 ### 每个结果上的 SSIM 和 PSNR 是什么? 是这次压缩的代价,做法是把结果解码回来跟原图逐一比对。SSIM 比的是局部的明暗、对比和结构,比数一数多少像素变了更接近人眼在意的东西,大约在 0.98 以上,两张图并排看已经很难分辨。PSNR 是传统的那个分贝值。两个数都在你自己的机器上算,也都摆出来,好让“损失很小”这句话是能核对的,而不只是嘴上说说。 ### 它能读、能写哪些格式? 可以读取浏览器能解码的 JPEG、PNG、WebP、GIF、BMP 和 AVIF 等图片。新编码使用 JPEG、PNG 或 WebP。已小于目标大小的文件会原样返回,保留原格式和元数据。需要编码时,自动模式先使用浏览器能输出的原格式;无法输出时,GIF 先使用 PNG,AVIF、BMP 或 MIME 类型不明的输入先使用 JPEG。随后,如果 WebP 能以更少的可见损失满足目标,自动模式可能选择 WebP。 ### 为什么 PNG 压不下去多少? 因为 PNG 是无损的,根本没有画质这个旋钮可拧。想让一个 PNG 变小,只能减像素或者减颜色,所以选了 PNG,工具只能靠缩尺寸去够那个目标。图片要是照片,换 JPEG 或 WebP 能离目标近得多,而且看上去完全没问题。要是 logo 或者带透明的截图,WebP 能留住透明,换成 JPEG 那块地方会被填成白色。 ### 压缩会把 EXIF 和 GPS 信息一起去掉吗? 重新编码的结果不保留原有 EXIF、GPS、时间戳等元数据,因为画布只有像素。已小于目标大小的文件会原样返回,元数据仍保留。[EXIF 查看与清除](https://abox.tools/zh/exif-editor/)可查看和编辑 JPEG、PNG 和 WebP 元数据,不重新编码图片。AVIF 支持只读查看提取到的 EXIF,清理时将第一张解码后的图片转换为新的 PNG,颜色或 HDR 可能改变。 ### 免费吗?要注册吗? 免费,没有账号,不用登录,没有试用期,也没有水印。文件的数量和大小同样没有上限,因为没有哪台服务器在为它们掏钱,活是在你自己的机器上干的。本站带广告,经费就是这么来的,广告拿不到关于你图片的任何信息。 ### 断网能用吗? 能。页面开一次之后断网,它照干不误。这也是证明“什么都没上传”最省事的办法。一个把图片送出去压缩的工具,拔线那一刻就停了。 ## 这条隐私承诺怎么核实 - **处理在这个浏览器里完成。** 本工具在浏览器里处理输入和结果,处理代码不把它们上传去处理。Content-Security-Policy 限制可用资源和连接目的地,但已允许的主机仍可接收请求。策略不检查载荷,不能单独证明什么都没有发出。请把具体操作的请求与源码核对,或断网完成该本地操作。 - **这里没有任何东西会去联网取数据。** 整个 `src/` 里,一个 `fetch`、一个 `XMLHttpRequest`、一个 `sendBeacon` 都找不到。压缩这一步就是 `canvas.toBlob`,用的是你浏览器里早就装好的那个编码器。 - **那些数字是量出来的,不是报上去的。** 文件大小、画质档位、SSIM 比对,全在这个页面上算出来,也全摆给你看。这个仓库里没有哪个统计事件会带上文件名、大小、数量或者结果。 - **Google 加载了什么,又拿不到什么。** 广告脚本和统计脚本来自 Google,捐助按钮来自 Buy Me a Coffee。关于你图片的信息,一条都没给它们。读文件、压缩、测量的每一行代码都从本站发出,也都摆在仓库里。 - **断网照样能用。** 断开网络,这个工具跟原来一模一样,因为它本来就没有联网这一步。这是最省事的一条证明。 **你可以自己核对。**上面这些不用你信。这个页面是仓库里的模板和配置生成出来的,构建脚本你能读,也能自己跑一遍,跑出来的结果就提交在 `dist` 分支上。拿实际发给你的内容,跟你自己从源码构建出来的结果对一遍就知道了: https://github.com/A-Box-of-Tools/website 最值得先读的几个文件:`config/site.toml` 里是 Content-Security-Policy,`src/compress.js` 里是决定画质花多少的那次搜索,`src/measure.js` 里是“视觉相似度”这个数字背后的比对。
图片怎么压到指定大小
- 选好你的图片。拖到下面的方框里,或者点开自己挑。浏览器直接从你的硬盘上读,这期间没有东西发出去。
- 填上人家要求的那个大小。上传框死活不收你照片,那多半是 100 KB;申报系统常见 500 KB;网页要开得快,2 MB。最常用的四个数字直接做成了按钮。
- 按“压到这个大小”。每张图会被反复编码几遍,工具一步步逼近那个既能塞进去、画质又最高的档位。本来就没超标的文件,原样放行,一个字节都不动。
- 看看代价有多大,然后下载。每个结果都写明存成了什么格式、用了哪一档画质、尺寸有没有变,以及量出来跟原图有多接近。按“对比”,两张图并排放着看。
说得更细的版本
如何将图片压缩到文件大小上限内 上传框要 500 KB,你的照片有 4 MB。一个大小限制到底要你付出什么,先动哪个设置,以及 PNG 为什么不像 JPEG 那样能压。
工具箱里还有
常见问题
我的图片会传到什么地方去吗?
不会。解码、压缩、测量,全由你自己的浏览器在你自己的硬件上完成,用的是浏览器自带的 JPEG、PNG 和 WebP 编码器。这个工具没有任何联网功能,不取东西,也不发东西。页面的 Content-Security-Policy 把它可能联的地址全列了出来,没有一个是本站的。
如何达到文件大小上限?
工具编码并测量多个候选结果,寻找上限内最高的画质。如果能够生成合适的文件,结果达到或低于目标,但不一定等于输入的精确字节数。已低于上限的文件保持不变。如果仅调整画质仍不够,工具会缩小尺寸;使用前请检查结果。
所谓“损失最小”,具体指什么?
三件很具体的事。第一,本来就没超标的图原样放行,不重新编码。第二,先花画质,后动分辨率,而且画质只降到压缩痕迹开始露出来那一档为止。再往下,工具改成把图片做小、把画质提回去,因为像素少一点但个个干净,比像素多一堆却全糊了好看。第三,一旦找到塞得进去的结果,搜索还会往回顶,把剩下的额度用满。你要 500 KB,就不会拿回一个 300 KB 的文件。
每个结果上的 SSIM 和 PSNR 是什么?
是这次压缩的代价,做法是把结果解码回来跟原图逐一比对。SSIM 比的是局部的明暗、对比和结构,比数一数多少像素变了更接近人眼在意的东西,大约在 0.98 以上,两张图并排看已经很难分辨。PSNR 是传统的那个分贝值。两个数都在你自己的机器上算,也都摆出来,好让“损失很小”这句话是能核对的,而不只是嘴上说说。
它能读、能写哪些格式?
可以读取浏览器能解码的 JPEG、PNG、WebP、GIF、BMP 和 AVIF 等图片。新编码使用 JPEG、PNG 或 WebP。已小于目标大小的文件会原样返回,保留原格式和元数据。需要编码时,自动模式先使用浏览器能输出的原格式;无法输出时,GIF 先使用 PNG,AVIF、BMP 或 MIME 类型不明的输入先使用 JPEG。随后,如果 WebP 能以更少的可见损失满足目标,自动模式可能选择 WebP。
为什么 PNG 压不下去多少?
因为 PNG 是无损的,根本没有画质这个旋钮可拧。想让一个 PNG 变小,只能减像素或者减颜色,所以选了 PNG,工具只能靠缩尺寸去够那个目标。图片要是照片,换 JPEG 或 WebP 能离目标近得多,而且看上去完全没问题。要是 logo 或者带透明的截图,WebP 能留住透明,换成 JPEG 那块地方会被填成白色。
压缩会把 EXIF 和 GPS 信息一起去掉吗?
重新编码的结果不保留原有 EXIF、GPS、时间戳等元数据,因为画布只有像素。已小于目标大小的文件会原样返回,元数据仍保留。EXIF 查看与清除可查看和编辑 JPEG、PNG 和 WebP 元数据,不重新编码图片。AVIF 支持只读查看提取到的 EXIF,清理时将第一张解码后的图片转换为新的 PNG,颜色或 HDR 可能改变。
免费吗?要注册吗?
免费,没有账号,不用登录,没有试用期,也没有水印。文件的数量和大小同样没有上限,因为没有哪台服务器在为它们掏钱,活是在你自己的机器上干的。本站带广告,经费就是这么来的,广告拿不到关于你图片的任何信息。
断网能用吗?
能。页面开一次之后断网,它照干不误。这也是证明“什么都没上传”最省事的办法。一个把图片送出去压缩的工具,拔线那一刻就停了。