免费 JPG → PNG 转换器
即时将 JPG 图像以无损质量转换为 PNG 格式。支持批量转换并以 ZIP 形式下载。
支持 JPG/JPEG · 每个最大 50 MB
「JPG 转 PNG」到底做了什么(以及没做什么)
JPEG 和 PNG 在无损与有损这个轴上是一对镜像反义词。JPEG(ISO/IEC 10918-1,1992)使用有损 DCT 压缩:编码器以换取小得多的文件为代价,丢弃人眼不太可能察觉的图像数据。PNG(1996 年 IETF RFC 2083;2023 年 W3C 第 3 版)使用无损 DEFLATE 压缩:每一个像素都按比特保留。把 JPEG 转换为 PNG 与文件大小的方向相反(对于摄影内容,PNG 输出通常比源 JPEG 大 3-5 倍),而且关键的一点是它不会恢复原始 JPEG 已经丢弃的任何细节。PNG 忠实地保留 JPEG 已经有损的像素:每一个块状伪影、色度溢出和边缘光晕都按其在输入中出现的样子原封不动地烘焙进输出。
那为何还要转换?因为转换把有损降级冻结在当前水平上,并给了你一个能无损保留任何后续工作的格式。如果你打算编辑一张 JPEG 照片(裁剪、修饰、调色)并多次保存,每一次 JPEG 保存都会带来新的 DCT 量化误差,图像在三到四轮之后明显变差。一次转换到 PNG,之后的编辑就可以无损往返,不再累积损失。其他合理理由:目标平台明确要求 PNG;你想稍后添加透明度(PNG 支持 Alpha;转换的输出完全不透明,但格式将接受未来的 Alpha 编辑);或者你想要一个更保守的长期归档格式。
转换不会做的事情:它不会「提升画质」、不会「去除 JPEG 伪影」、不会「恢复丢失的细节」。信息论在这里毫不留情。JPEG 编码器扔掉的比特就是没了。PNG 无法把它们合成回来。如果你的 JPEG 有可见的块状或振铃,PNG 也会有同样的块状和振铃,只是在更大的文件里。从低质量 JPEG 真正恢复细节的唯一办法是 AI 超分辨率(Real-ESRGAN、Topaz Gigapixel、Adobe Super Resolution),它用神经网络幻觉出合理的细节;这与格式转换是两回事。
这个工具的底层原理
转换使用 HTML5 Canvas 2D API,并使用 JSZip(Stuart Knightley,MIT/GPL 双许可证)做多文件打包。不需要外部解码器,因为每个浏览器都原生解码 JPEG。当你拖入 JPEG 时,File API 把字节交给一个新的 HTMLImageElement;浏览器内置的 JPEG 解码器执行标准的逆 DCT、逆量化、YCbCr 到 RGB 的颜色转换,并产生原始 RGBA 像素缓冲,其中 Alpha 设为完全不透明(JPEG 没有 Alpha 可填充)。
一个新的内存中 <canvas> 按图像大小创建,解码后的像素通过 ctx.drawImage() 画到画布上。随后 canvas.toBlob('image/png') 调用浏览器内置的 PNG 编码器。编码器对 RGBA 字节流运行 DEFLATE(LZ77 + 哈夫曼),并写出一个符合规范的 PNG 文件。没有质量参数:PNG 始终无损,所以编码器唯一的旋钮就是 DEFLATE 力度,浏览器把它固定在一个合理默认值。
对于单文件,输出 Blob 直接成为可下载的对象 URL。对于多文件批次,JSZip 把每一个 PNG 输出打包到一个 ZIP 归档里,浏览器把它作为一次下载呈现。没有任何数据离开标签页。唯一的网络流量是页面初次加载和 JSZip 库(首次访问约 95 KB,之后走缓存)。在转换时打开 DevTools 的网络标签:没有任何请求携带图像数据。页面加载之后把浏览器切到飞行模式,转换器在本地 JPEG 上仍可工作。
JPEG 与 PNG 简史
- JPEG,1992。 ITU-T T.81 / ISO/IEC 10918-1,由 Joint Photographic Experts Group(1986 年成立)标准化。8x8 DCT 块,带可选色度二次采样的 YCbCr 颜色空间,按人眼视觉调校的量化表。有损,无 Alpha 通道。让照片丰富的网络成为可能的格式。
- LZW 专利危机,1994-1995。 Unisys 开始就 GIF 使用的 LZW 压缩主张专利权,要求生成 GIF 文件的任何软件支付授权费。网络社区围绕一种无专利的替代品组织起来,用于 GIF 此前承担的「无损且带 Alpha」的用途。
- PNG 1.0,1996 年 1 月。 Thomas Boutell、Mark Adler 以及由 CompuServe 主导的工作组在 IETF 上以 RFC 2083 发布 PNG。DEFLATE 压缩(与 zlib 和 ZIP 相同的 LZ77+Huffman 算法,同样无专利)替代了 LZW。完整的 8 位 Alpha 通道、始终无损、免版税。1997 年成为 W3C 推荐标准。
- 两种格式,两份工作,从 1990 年代末开始。 JPEG 成为照片的事实标准格式;PNG 成为图形、标志、截图,以及任何需要透明度或无损渲染的内容的标准。从那之后跨格式转换就一直是日常工作流:当编辑或平台要求时从 JPEG 转到 PNG,为缩小摄影内容从 PNG 转到 JPEG。
- ISO 标准化与 APNG,2003-2010。 PNG 在 2003 年成为 ISO/IEC 15948。Mozilla 于 2004 年以 Firefox 扩展形式开发 APNG(动画 PNG);2014 年获得 Safari 支持,2017 年获得 Chrome 支持,但 W3C 的 PNG 工作组直到 2023 年第 3 版才正式采纳。
- PNG 第 3 版,2023。 W3C 发布了 PNG 第 3 版,正式支持 HDR(cICP 块)、APNG 动画以及标准化的 EXIF 元数据块(eXIf 块)。在 JPEG 问世三十多年后,这两种格式在网络上仍然占据主导地位,WebP 和 AVIF 正在赢得空间但尚未取代它们。
使用方法
- 上传 JPG: 拖放或选择一个或多个 JPG/JPEG 文件进行转换。
- 转换: 点击“转换为 PNG”开始转换流程。处理在您的浏览器中即时进行。
- 下载: 单张图像直接下载;多个文件打包为 ZIP 压缩文件以便轻松批量下载。
为什么将 JPG 转换为 PNG?
PNG 是一种无损格式,能在不损失质量的情况下保留所有图像数据。与 JPG 不同,PNG 支持透明度,能生成清晰详细的图像,非常适合图形、标志和网页设计。当您需要透明度支持、用于编辑的无损质量或存档存储时,请转换为 PNG。请注意:PNG 文件通常比 JPG 大,但提供更好的质量和灵活性。
功能
- 批量转换: 一次转换多个 JPG 文件。单张图像直接下载,多张图像则打包为 ZIP。
- 无损质量: PNG 保留所有图像数据,没有压缩伪影或质量损失。
- 透明度支持: PNG 支持透明背景,非常适合图形和设计工作。
- 隐私保护: 所有转换均在您的浏览器本地进行。文件不会上传到任何服务器。
- 快速处理: 瞬时转换,无等待无队列。
现实世界里的 JPG 转 PNG 工作流
- 为后续编辑准备 JPEG。 一张照片以 JPEG 形式到来。在用 Photoshop、Affinity Photo 或 GIMP 打开它做修饰、裁剪或调色之前,先转换为 PNG。编辑过程中每次保存都将是无损的。如果你一直留在 JPEG 并在流程中多次保存,图像会在三到四轮之后明显变差(累积的 DCT 量化误差)。PNG 转换冻结当前的有损状态,避免进一步退化。
- 提交到要求 PNG 的服务。 一些照片打印服务、政府门户、学术期刊投稿系统、设计比赛门户和旧版 CMS 安装接受 PNG 而直接拒绝 JPEG。在上传之前转换可以避免提交被以模糊的「不支持的格式」错误退回时的来回折腾。
- 在照片上叠加文字或锐利图形。 杂志封面、信息图、表情包覆盖。JPEG 的 DCT 压缩在锐利色彩过渡周围产生光晕:覆盖在照片上的文字保存为 JPEG 后,沿每个字母边缘都看起来明显劣化。PNG 干净地处理混合的照片加图形内容。先把照片转为 PNG,再做叠加工作,把组合图像保存为 PNG。
- 已编辑照片的无损归档。 在 JPEG 源经过调色或修饰之后,把结果保存为 PNG 意味着将来再保存不会再引入量化误差。如果将来你可能再次打开并修改这张图(略微不同的裁剪、附加调整),PNG 归档可以避免代际损失。
- 为透明度编辑做准备。 输出 PNG 完全不透明(JPEG 源没有 Alpha 可填充)。但 PNG 支持 Alpha 通道,因此后续编辑可以抠出背景、添加半透明光晕,或把图像合成到其他图形之上。同样的工作流如果在 JPEG 中进行,最后无论如何都需要再做一次 PNG 转换,所以提前转换可以让每一步都保持无损。
- 对像素精度有要求的网页与 UI 设计。 设计作品集、UI 稿、混合摄影与排版内容的截图、由照片衍生的应用图标。这些场合的标准格式是 PNG,因为在设计语境中,JPEG 在锐利色彩边缘产生的光晕令人不快。在设计项目开始时把 JPEG 源素材一次性转为 PNG,可以保持后续工作流的一致性。
常见陷阱及其含义
- PNG 不会恢复 JPEG 丢失的细节。 这是最常见的误解。JPEG 编码器丢弃了图像数据;信息论说你无法重建已经被丢弃的内容。PNG 精确地保留 JPEG 已经有损的像素,包括每一个块状伪影和每一个边缘光晕。如果你真的需要恢复细节,那要靠 AI 超分辨率(Real-ESRGAN、Topaz Gigapixel、Adobe Super Resolution),它用神经网络幻觉出合理的细节。仅仅做格式转换无法实现这一点。
- 文件大小总会增加。 对于典型摄影内容,PNG 比源 JPEG 大 3-5 倍。对压得很狠的 JPEG,有时甚至大 10 倍。PNG 的 DEFLATE 压缩在连续色调图像上无法与 JPEG 的 DCT 匹敌;PNG 不能丢弃任何 JPEG 噪声模式来节省空间,因为它必须是无损的。如果文件大小比无损质量更重要,请不要转换为 PNG。
- JPEG 伪影被原样保留。 平面区域的 DCT 块状、色彩边界的色度溢出、硬边附近的振铃光晕、文字周围的「蚊子噪声」。这些现在都以全保真度保存在 PNG 里。转换不会让它们变柔、不会去块、也不会降噪。它们在打印中和任何像素级对比中都会可见。PNG 只是把它们冻结在原位。
- 避免 JPEG → PNG → JPEG 循环。 常见错误:转换 JPEG 为 PNG 以便编辑,编辑,再把结果保存为 JPEG,明天再来一遍。中间的 PNG 帮不上忙:每次回到 JPEG 都会再次执行有损的 DCT 量化。要充分利用 PNG 的无损保存,请在 PNG 中完成全部编辑,只在最后必要时才重新编码为 JPEG。
- EXIF 和 ICC 元数据可能会被移除。 基于 Canvas 的重新编码通常会丢弃 EXIF、IPTC 和 XMP 元数据块(相机、曝光、GPS、版权)以及嵌入的 ICC 色彩配置文件。对一般屏幕使用这是看不出来的;对元数据重要的归档工作流,请使用具有元数据感知能力的桌面工具,如 ImageMagick 配合显式选项,或 jpegtran 风格的保留元数据的路径。
- 非常大的 JPEG 需要大量内存。 把 JPEG 解码到 RGBA 像素所需的 RAM 与其尺寸成正比:一张 2400 万像素的照片(6000x4000)光是源像素缓冲就要约 96 MB,再加上画布的独立缓冲,再加上 PNG 编码器的工作空间。浏览器可用 1 到 2 GB RAM 的移动设备可能在编码完成之前就被操作系统终止标签页。
隐私:图像永远不离开你的设备
每一个基于云的 JPG 转 PNG 服务(CloudConvert、Convertio、iLoveIMG、FreeConvert、Aspose 以及成打的「jpg 转 png 在线」服务)都会把你的文件上传到运营商的服务器、运行转换,然后把 PNG 作为下载返还。来自手机和相机的 JPEG 经常嵌入 EXIF 元数据:拍摄地点的 GPS 坐标(往往精确到几米)、相机和镜头型号、拍摄日期与时间,甚至小尺寸缩略图预览。所有这些都进入运营商的基础设施。大多数运营商会发布隐私政策,承诺在一两小时内删除上传内容并在传输中加密,较大的服务商持有 ISO/IEC 27001 认证。他们有强烈的商业动机遵守这些政策。但「一小时内删除」并不等于「从未被看到」。在那一小时里,照片内容存在于运营商的基础设施中,对任何具备相应权限的进程或人员可访问,并按相应的留存政策出现在日志和备份中。
本转换器从不上传任何东西。整条流水线(选文件、通过浏览器内置解码器解码 JPEG、Canvas 绘制、PNG 编码、可选 ZIP 打包、下载)都在你的浏览器标签内运行,使用 JavaScript 和 HTML5 Canvas API。没有上传,没有携带图像数据的网络请求,没有日志记录。可以在转换之前打开浏览器开发者工具的网络标签来核实:没有携带图像内容的请求被触发。唯一的网络流量是页面初次加载和小巧的 JSZip 库(约 95 KB),在首次访问时从 CDN 取一次并缓存。页面加载之后把浏览器切到飞行模式,转换器在本地 JPEG 上仍可工作。
什么时候用另一个工具更合适
- 你想恢复丢失的细节或去除 JPEG 伪影。 格式转换无法做到。请使用 AI 超分辨率:Real-ESRGAN(开源,通过 ChaiNNer 或命令行本地运行)、waifu2x(开源,有免费网页演示)、Topaz Gigapixel AI(商业,桌面),或 Camera Raw 或 Lightroom 中的 Adobe Super Resolution。这些模型通过在数百万张相似图像上训练过的神经网络幻觉出合理的细节。
- 比起无损质量,更需要最小化文件大小。 不要转换为 PNG;PNG 会大 3-5 倍。如果 JPEG 的质量可以接受,就留在 JPEG。如果需要更小的文件,把 JPEG 通过图像压缩器以更低质量过一遍,或通过图像转换器转为 WebP(有损 WebP 通常在相同质量下比 JPEG 小 25-35%)。
- 对数百个文件做批量自动化。 使用 Node.js 中的 Sharp(基于 libvips 的规范服务端图像库:
sharp(buf).png().toBuffer())、任何 shell 上的 ImageMagick(magick input.jpg output.png),或 Python 中的 Pillow(Image.open(p).save(out, 'PNG'))。CLI 工具能处理成千上万个文件而不受浏览器内存限制,并可从 CI 任务、部署钩子或 cron 作业中运行。 - 需要保留元数据与色彩配置文件的印刷工作流。 使用 Photoshop 的「存储为 PNG」(保留 ICC 配置文件和元数据)、Affinity Photo 或 RawTherapee。基于浏览器 Canvas 的转换可能丢弃嵌入的 ICC 配置文件和 EXIF 块,这对屏幕使用没问题,但对印刷准备或依赖拍摄元数据的工作流并不合适。
常见问题
PNG 会比原始 JPG 大吗?
很可能是的。PNG 使用无损压缩,而 JPG 使用有损压缩,通常会产生更小的文件。不过,PNG 提供更好的质量并支持透明度。当质量和灵活性比文件大小更重要时,请选择 PNG。
我可以一次转换多个文件吗?
是的。上传多个 JPG 文件,它们将以相同的设置进行转换。单个文件直接下载,多个文件会自动打包为 ZIP 压缩文件。
文件大小限制是多少?
每个 JPG 可达 50 MB。总转换大小取决于您浏览器的可用内存,但通常可以转换总计数百 MB 的文件。
我的图像会被上传到服务器吗?
不会。所有转换都通过 Canvas API 在您的浏览器中本地完成。您的图像绝不会离开您的设备,确保完全的隐私和安全。
我可以在移动设备上将 JPG 转换为 PNG 吗?
是的。此工具可在桌面、平板电脑和移动浏览器上使用。只需点击选择文件并转换。
JPG 和 PNG 的质量有什么区别?
转换为 PNG 会保留原始 JPG 的图像质量。由于 JPG 已是有损压缩的,转换为 PNG 无法恢复丢失的细节,但如果您需要编辑图像,它可以防止进一步的质量损失。
更多常见问题
转换为 PNG 会去除我看到的 JPEG 伪影吗?
不会。JPEG 伪影(平面区域的 DCT 块状、锐利边缘的光晕与振铃、色彩过渡的色度溢出)在 JPEG 编码器做完工作之后就成了像素数据的一部分。PNG 是无损格式:它精确保留像素数据的本来面目,连同伪影一起。输出的 PNG 在任何缩放级别上看起来都与源 JPEG 完全一样。如果你需要软化或去除可见的 JPEG 伪影,唯一的办法是 AI 降噪/超分辨率工具或细致的手工修饰;仅仅做格式转换无法做到这一点。
为什么 PNG 大这么多?
因为 PNG 的 DEFLATE 压缩对摄影内容远不如 JPEG 的 DCT 压缩有效。JPEG 通过丢弃眼睛不会注意到的高频信息,可以非常高效地压缩平滑渐变和连续色调区域。PNG 必须精确保留每一个像素,因此它必须把照片的完整噪声模式都编码下来,而 DEFLATE 对此只能做有限的工作。对于典型照片,PNG 比同质量 85 的 JPEG 大 3-5 倍;对压得很狠的 JPEG 有时大 10 倍。这是预期行为,不是工具的 bug。
得到的 PNG 能有透明度吗?
不会自动有,因为源 JPEG 没有 Alpha 通道可以填充。输出 PNG 完全不透明。但 PNG 格式支持 8 位 Alpha 通道,所以你可以在后续编辑步骤里(Photoshop、GIMP、Photopea、Pixelmator)打开 PNG 并添加透明度:抠掉背景、添加半透明光晕、合成到其他图形之上。转换给了你一个能接受这些未来编辑的格式,而不必再换一次格式。
这个工具能离线工作吗?
可以。JPEG 解码器和 PNG 编码器都内置于每一个浏览器;不会为它们下载任何外部库。本工具唯一加载的库是 JSZip(约 95 KB),用于把多文件批次打包成 ZIP 归档,首次加载时从 CDN 取一次并缓存。之后的访问可以完全离线工作。可以在首次打开页面之后启用飞行模式并转换一个本地 JPG 文件来验证。
我的 EXIF 元数据(相机、GPS、日期)会被保留吗?
通常不会。基于 Canvas 的重新编码会移除 EXIF、IPTC 和 XMP 元数据块(相机型号、曝光设置、GPS 坐标、版权标记)以及嵌入的 ICC 色彩配置文件。输出的 PNG 仅承载像素数据。对一般的屏幕分享来说,这通常是隐私上的一种好事(GPS 坐标和设备序列号不会泄露)。在需要保留拍摄元数据的归档流程里,请使用能感知元数据的桌面工具:配合正确选项的 ImageMagick、ExifTool,或 Photoshop 的「存储为」,它们都可以在转换中保留 EXIF 数据。
是否有桌面或命令行版本的替代品?
有几个。批量自动化使用 Node.js 的 sharp,它是规范的服务端库:sharp(buf).png().toBuffer()。任何 shell 上的 ImageMagick:magick input.jpg output.png。Python 的 Pillow:Image.open(p).save(out, 'PNG')。要做像本工具这样的一次性交互式工作,Squoosh(Google Chrome Labs,同样客户端运行)是最接近的浏览器替代;它支持包括 AVIF 在内的更多输出格式。Photoshop、Affinity Photo 以及 macOS 上的预览覆盖桌面 GUI 场景,并且比浏览器内的转换更可靠地保留元数据。