返回图片工具

图片压缩工具

批量压缩 JPEG / PNG / WebP / AVIF 图片,支持目标体积模式与自动剥离 EXIF。文件不离开你的设备。

把图片拖到这里

把图片拖到这里

JPEG / PNG / WebP / GIF / BMP · 单文件 ≤ 50 MB · 单批 ≤ 50 张

或从剪贴板粘贴

模式
Quality
Quality
80
80 / 100
输出格式
缩放
最大宽度
最大宽度
最大高度
剥离 EXIF 元数据

尚未添加文件。拖入或粘贴图片开始。

为什么需要不上传的图片压缩器?

市面上多数免费在线压缩器把你的图片 POST 到服务器处理。这意味着产品截图、家庭照片、未发布的设计稿、随手拍的票据全都经过别人的机房。即便服务声称「自动删除」,缓存、请求日志、崩溃 dump 仍可能留存副本。本工具一字节都不发出。Canvas API 在浏览器内完成解码与重编码,你可以打开网络面板,整个压缩过程零请求。无论是设计师在改稿,还是个人在准备保险理赔的照片,隐私模型都很简单:文件不离开你的设备。

浏览器端压缩的原理?

现代浏览器已经内置完整的图像流水线:createImageBitmap 解码 JPEG / PNG / WebP / GIF / BMP,canvas 重绘像素,canvas.toBlob 用原生 JPEG / PNG / WebP / AVIF 编码器重新编码。我们在此之上加了目标体积搜索、多格式输出与元数据剥离。常见照片下输出质量与 mozjpeg / oxipng 仅相差几个百分点,对网络场景足够,且 bundle 体积保持极小。我们刻意没引入 WebAssembly 编码器,让本页新增 JS 控制在 12 KB 以内,弱网下也能秒开。

应该选哪种输出格式?

对于摄影类内容(相机照片、手机拍照),相同视觉质量下 AVIF 体积最小,其次 WebP,再次 JPEG。当你能控制查看端(现代浏览器、自己的 App)时优先 AVIF;不能控制时(邮件附件、老旧系统)选 JPEG。对于 UI 截图、矢量风格、Logo、任何带有锐边或透明区域的图,请选 PNG —— JPEG 与 WebP-lossy 会把锐边糊掉。GIF 动图本工具只取首帧,动图请使用专门的 GIF / WebM 转换器。多格式输出允许你勾选多个,用真实体积侧栏比较,而不是凭感觉选。

目标体积模式如何工作?

告诉工具「我需要 200 KB 以内」,它会在 quality 0–100 区间做二分搜索。每一步用中点重编码、检查 blob 大小,再根据结果向上或向下收缩区间。最多 10 次迭代后收敛到能满足体积约束的最高 quality。若 quality 0 仍超出目标(极高分辨率全景图偶有),UI 会明确提示并建议先缩放图像 —— 维度收缩通常能在视觉无明显损失的前提下解锁体积预算。

为什么需要剥离 EXIF?

手机与相机产出的 JPEG 携带隐藏的 EXIF 块:拍摄时间、相机品牌型号 / 序列号、镜头、曝光参数,最关键的是开启定位时的 GPS 经纬度。截图工具产出的 PNG 同样有 tEXt / tIME chunk。多数社交与即时通讯不显示这些元数据,用户以为已经清掉 —— 实际上字节随图片一起走,文件被下载、归档、抓取时再次浮出。本工具默认剥离:Canvas 重编码不会保留原始元数据块,开关默认勾选,意味着你不用每次思考也不会意外公开自己的家庭住址。

FAQ

我的图片会被上传吗?
不会。浏览器 Canvas API 在你的设备上完成解码与重编码。打开网络面板观察 —— 压缩过程零请求。唯一的网络访问只发生在加载本页。
为什么我的浏览器里 AVIF 选项被禁用?
AVIF 编码需要 Chromium 100+、Safari 16.4+ 或 Firefox 113+。我们在加载时进行特性检测,浏览器无法编码 AVIF 时禁用复选框。但 JPEG、PNG、WebP 仍可使用 —— 这些是通用支持的格式。
目标体积模式如何找到合适的 quality?
我们在 quality 0–100 区间做二分搜索,每张图最多 10 次重编码。约 10 次后收敛到「输出 ≤ 目标体积」的最高 quality。若 quality 0 仍超出目标(极高分辨率图像偶有),建议先缩小尺寸。
为什么 PNG 压缩后几乎没变小?
PNG 是无损格式 —— 重编码仅在源文件编码效率低时才能节省空间。对摄影类内容追求真实体积削减,请改用 JPEG 或 WebP;对透明、锐边重要的 UI 截图与矢量风格,PNG 才是正确选择,但体积变化会很小。
为什么不能拖入 HEIC 文件?
HEIC / HEIF 是 Apple 专有格式。浏览器无法解码,引入 WebAssembly 库会让本页增加 ~2 MB 并违背零依赖策略。在 macOS / iOS 上,请先在「照片」中导出为 JPEG。

相关工具