为什么我的 PNG 文件这么大?

更新于

为什么我的 PNG 文件这么大?

PNG 之所以很大,是因为它是无损的:会精确存储每一个像素。照片里相邻像素几乎都有细微差别,所以几乎压不小。把 JPG 存成 PNG 并不能找回已丢失的细节,通常还会让文件更大。全尺寸截图、透明度,以及某些 16-bit 导出,都会再增加数据。

现在就做——免费,在浏览器里

Compress a PNG

格式本身就是无损的,这才是真正原因

如果一张 PNG 感觉特别大,通常是格式本身的原因,而不是导出出错。PNG 是无损的。它会精确存储每一个像素,再寻找相邻的重复像素来打包数据。照片几乎没有这种重复。相邻像素都有细微差别,所以文件几乎压不小。

JPG 和 WebP 会有意丢掉细微细节。所以同一张照片做成 JPG 或 WebP 通常会小得多。PNG 是为精确像素而设计的:标志、文字、界面,而不是相机照片。PNG 格式指南说明了 PNG 适合什么、不适合什么。

四种会让 PNG 更大的习惯

无损编码才是主因。下面这些习惯还会再堆上更多字节:

  • 你把 JPG 存成了 PNG。这并不能找回 JPG 已经丢掉的细节。你保留的是已经压缩过的照片,再无损存储一遍,所以文件通常会变大。更大的 PNG 是预期结果,并不是导出损坏。
  • 截图、界面捕获和设计工具导出。手机、浏览器和设计工具常常按画布的完整像素尺寸写成 PNG。一张 4K 截图就是数百万个精确像素。
  • 透明度(alpha)。多一个通道就是多一份数据。标志和带透明边缘的界面请保留它。背景是纯色时可以不要。
  • 16-bit 导出。有些编辑器会导出 16-bit PNG,每个通道的数据量是常见 8-bit PNG 的两倍。EditItAll 不会检测位深度。请到生成该文件的工具里检查导出设置。

这些都不表示 PNG 已损坏。格式只是在履行职责:保留每一个像素。

与其再存一次 PNG,不如这样做

请选择和画面匹配的做法。EditItAll 无法自动压到某个 KB 目标大小,没有目标大小输入框。体积是你选定格式之后的结果;若是 JPG 或 WebP,还取决于质量等级。

  • 照片。把 PNG 转成JPGWebP。这一步是有损的:像素不会完全相同。对照片来说,体积下降几乎总是值得的。JPG 无法保留透明度;WebP 可以。操作说明:将 PNG 转换为 JPG
  • 带透明度的扁平图形、标志或截图。继续用 PNG,并压缩该 PNG。重新压缩是无损的:像素保持不变,只是打包得更紧。完整步骤:压缩 PNG 而不损失画质

两个工具都在浏览器中运行。文件绝不会被上传,导出时会去除 EXIF,批量下载为 ZIP。页面加载后即可离线使用。更多内容见压缩图片专题和压缩中心

缩小 PNG 改变不了什么

无损重新压缩 PNG 不会缩小像素尺寸。一张 4000-pixel 宽的 PNG,更紧凑编码之后宽度仍是 4000 pixels。它也不会把照片变成小文件,那需要 JPG 或 WebP。

EditItAll 不会去猜千字节目标。请重新编码 PNG,或转换照片并拖动质量滑块,然后在结果列表里查看输入到输出的体积再调整。列出的大小是输出结果,不是你输入的数字。

现在就试试?

免费、无需注册,你打开的文件绝不会离开你的设备。

常见问题

为什么我的 PNG 比同一张照片的 JPG 大这么多?+

PNG 会精确存储每一个像素。JPG 会有意丢掉细微细节,好让文件保持较小。对照片来说,这种无损额外数据就是 PNG 往往大得多的原因。如果目标是体积,请把 PNG 转成 JPG 或 WebP。

我把 JPG 存成 PNG 后文件变大了。是我操作错了吗?+

没有。PNG 无法找回 JPG 已经丢失的细节,而且无损存储照片体积会很臃肿。文件变大是预期结果。如果还需要变小,请再转回 JPG 或 WebP。

EditItAll 的 PNG 压缩器能把照片压得很小吗?+

差不多压不了多少。PNG 重新压缩是无损的,所以像素保持不变,照片几乎压不小。请把照片类 PNG 转成 JPG 或 WebP。图形、标志和截图作为 PNG 压缩效果更好。

透明度会让 PNG 更大吗?+

会。alpha 通道是额外要存储的数据。标志和带透明边缘的界面请保留它。照片如果是纯色背景,请先压平再转成 JPG。这次转换是有损的,文件通常会小得多。

EditItAll 能把 PNG 精确压缩到某个 KB 大小吗?+

不能。没有目标大小输入框。请无损压缩 PNG,或把照片转成 JPG 或 WebP 并调整质量,直到列出的输出足够小。处理在浏览器中进行,文件绝不会被上传。

相关指南

更多「压缩图片」指南 →