转换不是改后缀名
把 photo.png 重命名成 photo.jpg,文件还是 PNG —— 只是名字变了,很多程序会读错。真正的转换是把图片重新编码一遍。
本页做的就是后者:解码原图、画进画布、用目标格式重新编码导出。代码里没有额外的编解码魔法,本质是浏览器原生编码能力加一层壳。
三种输出怎么选
JPG:照片首选,不支持透明,有损。PNG:无损,支持透明,适合截图、图标、带文字的图 —— 但体积通常明显大于 JPG。WebP:支持透明也支持有损,同观感下比 JPG 小 25%–35%,兼容性现在也基本不是问题。
不产出 AVIF:浏览器的 AVIF 编码支持还不够普及,与其给你一个时灵时不灵的选项,不如不提供。输入侧能认出 GIF、BMP、AVIF、SVG、TIFF 等格式并显示原名,但输出只有上面三种。
质量 92 是什么概念
质量滑块范围 10–100,默认 92。这是有损编码的取舍点:95 以上体积涨得快、肉眼几乎看不出差别;85 以下开始出现可见的块效应。92 是个平衡点。
选 PNG 时整行会隐藏并提示「PNG 无损,无质量参数」—— 因为浏览器对 PNG 会直接忽略质量值,与其让你拖一个无效的滑块,不如说清楚。
转 JPG 前先看透明区
「透明区域填白底」默认不勾选。不勾的时候,PNG 的透明区转成 JPG 会变成黑色 —— JPG 没有透明通道,空缺处只能落到画布默认值。
截图、logo、带透明背景的商品图转 JPG 时,记得勾上这个开关;要保留透明就选 WebP 或 PNG。
尺寸不变,动图只留一帧
转换按原图尺寸一比一绘制,不会缩放 —— 需要改尺寸请用改尺寸工具,需要压体积请用压缩工具。
动图(GIF)转换后只保留一帧画面,动画会丢失。这是画布绘制的固有行为:一次只能画下当前帧。
本地转换
全流程在浏览器里完成,没有网络请求,图片不上传。含证件、合同、私人照片的文件可以直接拖进来转。
点按钮后直接触发下载,新文件沿用原文件名只换扩展名(photo.jpg 转成 photo.png)。单张上限 40MB,一次一张,没有批量。
常见问题
能输出 AVIF 吗?
不能。浏览器对 AVIF 编码的支持还不够普及,本页只输出 JPG、PNG、WebP 三种。
为什么选 PNG 后质量滑块没了?
PNG 是无损格式,浏览器会忽略质量参数。与其让你拖一个无效的滑块,不如直接说明。
GIF 转完动画没了?
是的。画布一次只能绘制一帧,转换后动画会丢失。要保留动画请用专门的动图工具。
转换会改变图片尺寸吗?
不会,按原尺寸一比一重新编码。要改尺寸用改尺寸工具,要减小体积用压缩工具。