JPG 转 PNG 转换器

一键把 JPG 或 JPEG 照片转换为 PNG。目标格式已经设为 PNG,只需拖入照片即可。无损输出,一切都在你的设备上完成。

点击选择一张图片,或将其拖放到此处

支持 JPG、PNG、WebP。文件保留在你的设备上,不会上传任何内容。可多选进行批量转换。

生成后,转换后的图片会显示在这里。

PNG 无损(文件更大,支持透明度)。JPEG 和 WebP 有损,可通过滑块调节质量(文件更小,JPEG 不支持透明度)。在同等视觉质量下,WebP 通常优于 JPEG,但 JPEG 的兼容性最广。

工作原理

浏览器会把你的 JPG 解码为原始像素,这些像素会以图片完整的原始宽度和高度绘制到一个 canvas 上,然后 canvas.toBlob("image/png") 会把结果写为一个 PNG 文件。这个方向没有质量滑块,因为 PNG 的 DEFLATE 压缩是无损的:解码器生成的每一个像素都会被精确保存。文件本身永远不会离开你的电脑,它只是通过一个本地对象 URL 被引用,而不是被上传。

有两点需要保持清晰的预期。第一,转换为 PNG 无法撤销 JPEG 压缩:JPG 中已经存在的块状伪影和振铃效应会被逐像素完整保留,因此 PNG 适合作为接下来要反复编辑或重新保存图片的目标格式,而不是一种改善画质的手段。第二,摄影图像中充满了传感器噪点,DEFLATE 对此压缩效果不佳,这就是为什么生成的 PNG 通常会比原始 JPG 大好几倍。这是正常现象,不是故障。

canvas 往返处理还会从头重写文件,因此 EXIF 数据(相机信息、GPS 位置)会从输出中被移除。方向仍然显示正确,因为现代浏览器会在解码时把 EXIF 旋转信息直接烘焙进像素中。而且由于整个流程都是浏览器 API,你可以在转换时打开开发者工具的 Network 标签页,观察到确实没有任何携带你照片的请求被发出。