免费在线图像转换器
在 PNG、JPEG 和 WebP 格式之间转换图像。一次批量转换多个文件。无需上传到任何服务器。
支持 JPEG、PNG、WebP、BMP、GIF · 每个最大 50 MB
输出格式
格式转换到底是什么
你遇到的每一种图像文件格式,从 1992 年的 JPEG 到 2019 年的 AVIF,最终都在编码同一种东西:一个像素的矩形。不同之处在于每种格式如何在去往磁盘的路上压缩、组织和(有时)注释这些像素。JPEG 使用有损 DCT 压缩,没有 Alpha 通道。PNG 使用无损 DEFLATE 压缩,并有完整的 8 位 Alpha 通道。WebP 使用有损的 VP8 帧内编码或无损的预测变换,可选 Alpha。GIF 在索引调色板上使用 LZW 再加 DEFLATE。BMP 主要是原始像素。AVIF 使用 AV1 帧内编码,是这一家族中最新且最高效的格式。
在这些格式之间任意两个之间互转,遵循同一个概念配方:把源字节解码为原始 RGBA 像素,然后按目标格式的规则把这些像素重新编码。浏览器的 Canvas API 正好把这条两步流水线暴露了出来。当你拖入一张图像时,浏览器对输入格式内置的解码器读取字节并产出一个像素缓冲。该缓冲被绘制到内存中的画布上。然后 canvas.toBlob('image/jpeg' 或 'image/png' 或 'image/webp', 质量) 把像素交给浏览器对所选输出格式的编码器。不需要任何外部库;一切都内置在浏览器中。
这就是为什么本工具能支持这么多输入格式而不需要我们这边写任何针对格式的代码:自 2020 年起发布的每个浏览器都能原生解码 JPEG、PNG、WebP、GIF、BMP 和 AVIF,多数还能通过渲染解码 SVG(转换会把矢量栅格化为目标栅格格式)。输出侧仅限于 JPEG、PNG 和 WebP,因为这些是浏览器普遍交付的编码器。AVIF 编码在 2026 年仍不一致(Safari 有,Chrome 和 Firefox 没有),所以这里不提供 AVIF 输出;如果你需要 AVIF,请使用 Squoosh,它自带编码器。
这个工具的底层原理
整条流水线就是 HTML5 Canvas 2D API,不依赖外部库。当你拖入一个文件时,File API 把字节交给一个新的 HTMLImageElement;浏览器从其魔数字节识别格式,并分派给内置的解码器。JPEG 走标准的逆 DCT 路径解码。PNG 经过 DEFLATE 解压及对应滤波的还原。WebP 则运行 VP8 帧内解码器(用于有损)或预测变换解码器(用于无损)。无论输入格式如何,结果都是同样的 RGBA 像素缓冲。
一个新的内存中 <canvas> 按图像大小创建。如果所选输出为 JPEG 且源图带有 Alpha(PNG、带 Alpha 的 WebP、带 Alpha 的 AVIF),画布会先用白色填充,让透明像素有地方落脚;否则画布直接继承像素。解码后的像素通过 ctx.drawImage() 画到画布上。随后 canvas.toBlob(目标 MIME, 质量/100) 调用所选输出格式的编码器:滑块质量下 JPEG 的 DCT 流水线,PNG 的无损 DEFLATE(忽略质量),或滑块质量下的 WebP 编码器(有损)。
对于单文件,输出 Blob 成为可下载的对象 URL。对于多文件批次,工具在循环里跑同一条流水线并聚合结果。没有任何数据离开标签页;不下载任何库;唯一的网络流量是页面的首次加载。在转换过程中打开 DevTools 的网络标签:没有任何请求携带图像数据。页面加载之后把浏览器切到飞行模式,转换器在本地图像上仍可工作。隐私由这种架构直接得来:没有上传步骤,没有日志条目,也没有需要信任的运营商基础设施。
跨格式图像转换简史
- GIF,1987。 CompuServe 发布 GIF(Graphics Interchange Format),在 256 色的索引调色板上使用 LZW 压缩。它成为早期网络图形的通用语言,直到 1994 年 LZW 专利主张推动了 PNG 的诞生。
- JPEG,1992。 ITU-T T.81 / ISO/IEC 10918-1,针对摄影调校的有损 DCT,几年内便被普遍采用。第一个被广泛实现的格式,让照片丰富的网络成为可能。
- PNG,1996。 Thomas Boutell、Mark Adler 与 CompuServe 牵头的工作组在 IETF 发布的 RFC 2083。用 DEFLATE 压缩取代 LZW,完整的 8 位 Alpha 通道,始终无损,免版税。PNG 成为图形、标志和截图的标准;JPEG 仍是照片的标准。
- WebP,2010。 Google 发布 WebP,把 VP8 视频编解码器的帧内编码改造为静态图像格式。有损 WebP 比 JPEG 小 25-34%;无损 WebP 比 PNG 小 26%。2020 年 Safari 14 和 iOS 14 补上最后一块时,WebP 取得了普遍浏览器支持。
- AVIF,2019。 开放媒体联盟(AOMedia)发布 AVIF,在 HEIF 容器内使用 AV1 帧内编码。在同等画质下比 JPEG 小约 50%。浏览器解码支持在 2023 年达到 95%+;编码支持在 Safari 之外仍参差不齐,所以这个工具可以读 AVIF 但不能写。
- 基于 Canvas 的浏览器转换,2014-2020。 HTML5 Canvas 成熟到这样一个程度:浏览器中的任何工具都可以通过 “解码-绘制-编码” 来居中调度任何到任何的格式转换,而无需为常见输出格式(JPEG、PNG、WebP)依赖外部库。图像转换器就是这种能力的直接应用:拖入任何东西,选择输出,下载。
如何转换图像
- 在上方选择目标格式(JPEG、PNG 或 WebP)。
- 调整 JPEG/WebP 输出的质量滑块(越高质量越好,文件越大)。
- 拖放或选择一张或多张图像。
- 图像将在浏览器中即时转换。
- 单独下载或一次全部下载。
何时使用各种格式
- JPEG · 最适合照片和色彩丰富的复杂图像。使用有损压缩以获得较小的文件大小。不支持透明度。
- PNG · 最适合图形、徽标、截图以及需要透明度的图像。无损压缩意味着文件更大但质量完美。
- WebP · Google 推出的现代格式,提供有损和无损两种压缩方式。在同等质量下通常比 JPEG 小 25-35%。支持透明度。所有现代浏览器均支持。
常见转换
- PNG 转 JPEG · 减小保存为 PNG 的照片的文件大小。非常适合网页和电子邮件。
- JPEG 转 PNG · 转换为无损格式以进行进一步编辑,不损失质量。
- PNG/JPEG 转 WebP · 为现代网站优化图像。文件明显更小。
- WebP 转 PNG/JPEG · 为不支持 WebP 的旧软件或平台转换以确保兼容性。
现实世界里的转换工作流
- 批量格式归一化。 一个文件夹里图像格式混杂(一些 PNG、一些 JPEG、一些 WebP)需要统一为单一格式,给 CMS、应用资产流水线,或某个只期望一种扩展名的工作流使用。拖入全部文件,一次选定目标格式,全部以 ZIP 下载。解码侧在不同输入格式间是统一的,工具不在乎你扔进来的是什么混合。
- 把截图转换以便分享。 现代操作系统默认把截图保存为 PNG。通过邮件或聊天分享截图,通常作为更小的 JPEG 更快。拖入 PNG,输出为质量 90 的 JPEG,粘贴到消息里。代价(Alpha 丢失、画质略有降低)对临时分享可以接受,并能换来文件体积上的节省。
- 升级旧网站的资产。 用 WebP 版本替换 PNG 与 JPEG 资产,缩减页面重量。同等画质下 WebP 比 JPEG 小 25-34%,无损下比 PNG 小 26%,并具备同样的 Alpha 通道支持。现代浏览器(2020 年之后)原生处理 WebP。拖入一个旧资产文件夹,选择 WebP 输出,下载,替换。
- 为 AI 或 ML 流水线归一化图像。 很多机器学习流水线期望一种特定格式(通常 PNG 用于无损训练数据,JPEG 用于受体积限制的推理)。一个通过网页抓取、用户上传或多种来源得到的混合数据集需要被归一化。这个工具把所有内容转换为一种格式,之后这个数据集对训练或推理代码来说就具有一致的解码行为。
- 从动画 GIF 中提取静态帧。 当你把动画 GIF 拖到这个工具时,浏览器的
<img>解码器给你它的第一帧。把它转换为 PNG、JPEG 或 WebP 会得到这一帧的单张静态图像。对缩略图、社交媒体预览,或任何需要从动画派生静态图像的场景都有用。 - 为旧目标解码 AVIF。 AVIF 现在被浏览器广泛可读(自 2023 年起 95%+ 支持),但旧目标仍想要 JPEG 或 PNG。拖入一个 AVIF 文件,选择 JPEG 输出,转换后的图像在任何接受 JPEG 的场景中都可用,包括 Outlook 2016 等旧客户端。(要输出 AVIF,请使用 Squoosh;本工具能读但不能写 AVIF。)
常见陷阱及其含义
- JPEG 输出会丢失透明度。 如果你的源图带有 Alpha 通道(PNG、带 Alpha 的 WebP、带 Alpha 的 AVIF),而你选择 JPEG 输出,透明区域在结果中会变成白色。Alpha 信息消失了;你无法从 JPEG 找回它。对你在意透明度的源图,请改选 PNG 或 WebP 输出。
- 对摄影源图的 PNG 输出会让文件膨胀。 质量 85 的 JPEG 照片可能只有 250 KB;同一张图作为 PNG 通常是 1-2 MB。对摄影内容,PNG 的无损 DEFLATE 压缩远不如 JPEG 的有损 DCT 高效。仅当你明确需要无损或透明度时才转 PNG,不要把它当作默认。
- WebP 输出在旧版邮件客户端中无法显示。 Windows 上的 Outlook 2016 及更早、macOS 11 Big Sur 之前的 Apple Mail,以及若干较旧的 CMS 安装都无法显示 WebP。如果你的目的地是其中之一,请改选 JPEG 或 PNG 输出。对现代 Web 托管、近期邮件客户端和当前 CMS,WebP 是正确选择,但并非对所有目标都适用。
- 动画 GIF 会丢失动画。 这里使用的浏览器
<img>解码器只给出动画 GIF 的第一帧。输出(JPEG、PNG 或 WebP)是那一帧的单张静态图像;动画的其余部分被静默丢弃。要保留动画,请使用 GIF 专用工具,或通过专门工具转为动画 WebP / APNG。 - HEIC 输入在非 Apple 设备上失败。 Chrome 和 Firefox 无法原生解码 HEIC(HEVC 专利许可的壁垒)。在非 Apple 浏览器上把 HEIC 拖进这个转换器会失败。请先使用专门的 HEIC 转 JPG 工具(它附带 libheif 的 WebAssembly 解码器),如果之后还需要 PNG 或 WebP,再把生成的 JPEG 通过此转换器走一遍。
- EXIF 与 ICC 元数据可能会被剥离。 基于 Canvas 的重新编码通常会丢弃 EXIF、XMP、IPTC 元数据块以及嵌入的 ICC 色彩配置文件。输出只承载像素数据。对屏幕分享通常看不出来;对依赖拍摄元数据的归档或印刷准备工作流来说是问题。对那些场景请使用支持元数据的桌面工具。
隐私:图像永远不离开你的设备
每一个基于云的图像格式转换服务(CloudConvert、Convertio、iLoveIMG、FreeConvert、Aspose,以及成打的「在线转换图像」服务)都会把你的文件上传到运营商的服务器、运行转换,然后把转换后的文件作为下载返还。图像经常包含没有谁愿意被复制到陌生人硬盘的内容:内部界面与机密文档的截图、嵌入了拍摄地点 GPS 坐标的照片、身份证件与税表的扫描件、签了 NDA 的插画、尚未发布的设计稿。大多数运营商会发布隐私政策,承诺在一两小时内删除上传内容并在传输中加密,较大的服务商持有 ISO/IEC 27001 认证。他们有强烈的商业动机遵守这些政策。但「一小时内删除」并不等于「从未被看到」。在那一小时里,图像内容存在于运营商的基础设施中,对任何具备相应权限的进程或人员可访问,并按相应的留存策略出现在日志和备份中。
本转换器从不上传任何东西。整条流水线(选文件、通过浏览器内置解码器解码、Canvas 绘制及可选的 Alpha 合成、通过浏览器内置编码器编码、下载)都在你的浏览器标签内运行,使用 JavaScript 和 HTML5 Canvas API。没有上传,没有携带图像数据的网络请求,没有日志记录。可以在转换之前打开浏览器开发者工具的网络标签来核实:没有携带图像内容的请求被触发。唯一的网络流量是页面本身的初次加载;不下载任何外部库用于转换。页面加载之后把浏览器切到飞行模式,转换器在本地图像上仍可工作。
什么时候用另一个工具更合适
- 你需要 AVIF 输出。 Canvas 在 2026 年可以普遍解码 AVIF,但编码仍不一致(Safari 有,Chrome 与 Firefox 没有)。要输出 AVIF,请使用 Squoosh(Google Chrome Labs,同样完全运行在客户端,自带 AV1 编码器)。在相同视觉质量下,AVIF 比 JPEG 小约 50%;要追求最有效率的现代 Web 交付,多用一个工具是值得的。
- 你需要在非 Apple 浏览器上解码 HEIC。 Chrome 与 Firefox 由于 HEVC 专利许可而无法原生解码 HEIC。请先使用专门的 HEIC 转 JPG 工具(它附带 libheif 的 WebAssembly 解码器),如果之后还需要 PNG 或 WebP,再把结果通过这个转换器走一遍。
- 你需要保留动画。 本工具只读取动画 GIF 的第一帧。要保留运动,请留在动画 GIF,通过专门工具转为动画 WebP,或转为 APNG。基于浏览器的「只取第一帧」转换无法承载多帧数据。
- 对数百甚至上千文件做批量自动化。 请使用 Node.js 中的 Sharp(基于 libvips 的规范服务端库)、任何 shell 中的 ImageMagick 或 GraphicsMagick,或者 Python 中的 Pillow。CLI 工具能处理成千上万个文件而不受浏览器内存限制,并可从 CI 任务、部署钩子或 cron 作业中运行。
常见问题
在不同格式之间转换会损失质量吗?
转换为 PNG 始终是无损的。转换为 JPEG 或 WebP 时会应用有损压缩,但在默认 92% 质量设置下,差异几乎看不见。较低的质量设置会以视觉保真度换取更小的文件大小。
转换为 JPEG 时透明度会怎样?
JPEG 不支持透明度。透明区域将被填充为白色背景。如果您需要透明度,请改用 PNG 或 WebP。
我可以一次转换多张图像吗?
可以!选择或拖放多张图像,它们都将被转换为您选择的格式。使用"全部下载"一键获取所有文件。
我的图像会上传到服务器吗?
不会。所有转换都使用 Canvas API 在您的浏览器中进行。您的图像永远不会离开您的设备。
更多常见问题
为什么本工具不提供 AVIF 输出?
因为基于 Canvas 的 AVIF 编码在 2026 年仍不一致:Safari 支持,但 Chrome 和 Firefox 都不附带 AVIF 编码器。一个只能在某一种浏览器上工作的工具会让人困惑。要输出 AVIF,请使用 Squoosh(Google Chrome Labs,同样完全运行在客户端);它把自己的 AV1 编码器打包进了页面,可以在任何浏览器中生成 AVIF。我们这里可以读取 AVIF 输入(自 2023 年起 95%+ 的浏览器能解码),只是无法写入。
为什么我不能拖入 HEIC 文件?
在 Safari 和其他 Apple 平台浏览器上,HEIC 之所以能用,是因为操作系统提供了 HEVC 解码器。在 Chrome、Firefox 与 Edge 上则不能用,因为 HEVC 编解码器受专利约束(HEVC 的专利分布在 MPEG LA、HEVC Advance、Velos Media 等多个池中),而这些浏览器不附带原生 HEVC 解码。请先使用专门的 HEIC 转 JPG 工具,它附带 libheif 的 WebAssembly 解码器,可在任何地方处理 HEIC;之后如果你需要 PNG 或 WebP 输出,再把得到的 JPEG 通过这个转换器走一遍。
我应该选哪个输出格式?
取决于内容和目的地。对现代 Web 上的摄影内容,WebP 在没有可见画质损失的前提下给出最小的文件;对遗留兼容性(较旧的邮件客户端、2020 年前的 CMS、固定 JPEG 的投稿系统),JPEG 是通用的。对图形、截图、标志或任何具有锐利色彩边缘和透明度的内容,PNG 能完美保留。WebP 在其无损模式下也能处理图形,比 PNG 更小,但只适用于现代目的地。经验法则:现代 Web 用 WebP,给到遗留目的地的照片用 JPEG,图形或无损需求用 PNG。
这个工具能离线工作吗?
可以。JPEG、PNG、WebP、GIF、BMP 和 AVIF 的解码器,以及 JPEG、PNG 和 WebP 的编码器,全部都内置在浏览器中。转换不会下载任何外部库。只要该页面本身仍在浏览器缓存里,对该页面的后续访问可以完全离线工作。可以在首次打开页面后开启飞行模式并转换一个本地图像来验证。
EXIF 元数据(相机、GPS、拍摄日期)会在转换中保留吗?
通常不会。Canvas API 操作的是原始像素数据;它不会把 EXIF、IPTC、XMP 元数据块或嵌入的 ICC 色彩配置文件带到输出中。对屏幕分享,这通常是隐私上的好事(GPS 坐标和设备序列号不会泄露)。对元数据重要的归档或摄影工作流,请使用具备元数据感知能力的桌面工具:ExifTool、配合显式选项的 ImageMagick,或 Photoshop 的 “导出为”,它们都可以在转换中保留元数据。
是否有桌面或命令行版本的替代品?
有几个。批量自动化使用 Node.js 中的 sharp(基于 libvips),它是规范的服务端库:sharp(buf).toFormat('webp').toBuffer()。任何 shell 上的 ImageMagick:magick input.jpg output.webp。Python 中的 Pillow:Image.open(p).save(out, 'PNG')。要做一次性交互式工作且需要包括 AVIF 输出在内的更广格式支持,Squoosh(Google Chrome Labs,同样客户端运行)是最接近的浏览器替代品。Photoshop、Affinity Photo、GIMP 与 macOS 上的预览覆盖桌面 GUI 场景,并比浏览器内的转换更可靠地保留元数据。