# WebP 转 JPG

把网页保存的图片，变成所有软件仍然接受的格式。

> 在浏览器中将 WebP 和 AVIF 图片转为 JPG。浏览器已经能解码 WebP，因此无需上传或账号，也可离线使用。透明区域填充你选择的颜色。

This is an interactive browser tool at https://httcup.github.io/tools/webp-to-jpg/. Files are processed on the device running that browser. Any deliberate sharing or optional network feature is described on the page. What follows is its written explanation; open the address to use it.

## Your 图片 are **processed in your browser**. No processing upload.

转换在你的浏览器、你的硬件上进行。无需下载解码器或等待引擎：浏览器自 2020 年起能读取 WebP，从诞生起就能写出 JPEG，所以所需功能在你来之前已在设备中。本页没有网络功能，也没有接收图片的服务器，这就是承诺的基础。

- ✗ 无需上传
- ✗ 无需账号
- ✗ 无大小限制
- ✓ 可离线使用
- ✓ 开源

## 如何将 WebP 转为 JPG

1. **选择 WebP 和 AVIF 文件。** 拖入或手动选择。工具根据开头字节识别真实格式，不看文件名，所以叫“.jpg”的 WebP 也能使用。真正的 PNG 会被拒绝并说明实际格式，而不是转成自身的副本。
2. **阅读每一行的文件信息。** 列表显示大小、尺寸以及转换前应知道的三件事：是否无损、是否透明、是否动画。只有实际具备时才显示对应提示。
3. **设置质量和透明区域背后的颜色。** 滑块从 92 开始，此时照片很难与原图区分。颜色控件只在列表中有透明图片时出现，因为 JPEG 必须填充这些区域。
4. **点击“转换”，然后下载。** 每个结果显示来源、转换后大小和变化，若透明被填充或只保留动画首帧，也会提示。单个文件可直接下载，多个文件还能打包成 ZIP。

## The longer version

[把网页保存的图片变成所有软件仍接受的格式](https://httcup.github.io/tools/guides/convert-webp-to-jpg/): 网页保存的 .webp 没有软件能打开？这里解释 WebP、转换为何增大文件、透明会怎样，以及如何无需上传完成。

## Also in the box

- [PNG 转 WebP](https://httcup.github.io/tools/png-to-webp/): 同一张图片，常常减少三分之一体积，透明区域保持完整。
- [AVIF 转 JPG](https://httcup.github.io/tools/avif-to-jpg/): 把网站如今保存的格式，变成所有软件一直支持的格式。
- [证件照制作](https://httcup.github.io/tools/id-photo/): 选择支持的国家和证件。公布的要求与指导值均有标注。
- [图片堆栈](https://httcup.github.io/tools/stack-images/): 二十张变一张，不用传二十次，也不用 RAW 转换器。

## Questions

### 图片会被上传到哪里吗？

不会。文件由你的浏览器在你的硬件上读取、解码和写出。本工具没有网络功能，不获取也不发送任何内容。`Content-Security-Policy` 列出所有允许联系的地址，没有一个属于本网站。与旁边的 HEIC 转换器不同，这里连解码器也不用先加载，浏览器已经有了。

### 为什么要把 WebP 转为 JPG？

因为接收图片的软件还不支持。浏览器右键保存网页图片常得到 WebP，它体积很小，但很多软件仍不接受：旧版 Office 和 Photoshop、部分印刷店、检查扩展名的上传表单、多数电子书阅读器，以及很多相机或打印机附带软件。JPG 则一直普遍支持。

### 透明区域会怎样？

会填充你选择的颜色，页面在转换前就会说明。JPEG 没有透明通道，所以透明无法保留，能选择的只有背景颜色。决定权在你而非转换器。默认白色适合放入文档的徽标。若要透明，请保留 WebP，或用[图片压缩器](https://httcup.github.io/compress-image/)转为 PNG；它也能输出 PNG 和 WebP。

### 能转换动态 WebP 吗？

只转换第一帧，转换前的文件行和转换后的结果都会说明。JPEG 只能保存一张图片，无法容纳其余帧。若需要每帧单独文件或动画视频，可先转成 GIF，再使用[拆分 GIF](https://httcup.github.io/split-gif/) 或 [GIF 转 MP4](https://httcup.github.io/gif-to-mp4/)。

### 图片会被重新压缩吗？

会，无法避免。WebP 和 JPEG 是不同编码，必须先解码再重新编码。所有 WebP 转 JPG 转换器都这样，包括要求上传的。你控制损失多少，滑块默认 92，照片很难与原图区分。无损 WebP 尤其要注意：生成的 JPEG 会成为这张图的第一份有损副本。工具在列表中标记无损文件，避免意外。

### JPG 会比 WebP 大吗？

经常会，结果明确显示差别。WebP 在相同可见质量下比 JPEG 更高效，因此网页开始使用它。反向转换通常会增加大小。这是用体积换兼容性，对不接受 WebP 的目标很合理。需要再限制大小时，[图片压缩器](https://httcup.github.io/compress-image/)可把 JPEG 压到指定值。

### 日期、相机和位置会保留吗？

不会。画布只有像素，所以 EXIF、GPS、色彩配置和 XMP 全部丢弃。实际网页上的 WebP 大多已经移除这些内容，发送图片的人通常也希望如此。[EXIF 查看与移除工具](https://httcup.github.io/exif-editor/)可查看和编辑 JPEG、PNG 和 WebP 元数据，不重新编码图片。AVIF 支持只读查看提取到的 EXIF，清理时将第一张解码后的图片转换为新的 PNG，颜色或 HDR 可能改变。

### 能一次转换整个文件夹吗？

能。拖入任意数量的文件，没有数量或大小限制，因为没有服务器承担处理。每个文件单独显示并可下载，两个或更多文件可打包成 ZIP。同名文件在扩展名前加数字，避免归档中静默覆盖。

### 免费吗？需要账号吗？

免费，无需账号、登录或试用，没有水印。网站通过广告维持运营，广告不会获得你的图片信息。

### 可以离线使用吗？

可以。先加载页面，再断开网络，工具完全照常运行。这也是确认没有上传的最有力证据：向服务器发送文件的转换器断网就会停止，本工具不会。

### 也能转换 AVIF 图片吗？

只要浏览器能够解码，也接受 AVIF 输入。输出格式仍为 JPEG。AVIF 序列只输出第一张解码后的图片。浏览器画布会生成 8 位 SDR 副本：颜色或 HDR 可能改变，不保留元数据，文件也可能变大。原文件保持不变。

## How the privacy claim is verifiable

- **处理在这个浏览器里完成。** 本工具在浏览器里处理输入和结果，处理代码不把它们上传去处理。Content-Security-Policy 限制可用资源和连接目的地，但已允许的主机仍可接收请求。策略不检查载荷，不能单独证明什么都没有发出。请把具体操作的请求与源码核对，或断网完成该本地操作。
- **无需提供解码器，所以无需服务器。** 2020 年以来的每个浏览器都能解码 WebP，也早就能写 JPEG。因此本工具没有引擎，第一次使用也不下载任何内容，没有服务器存在的理由。这正是要求上传的转换器没告诉你的事。这里唯一提供编解码器的是 [HEIC 转换器](https://httcup.github.io/heic-to-jpg/)，因为 HEIC 的确只有 Safari 能打开，其页面已详细说明。
- **透明区域，以及它们背后的颜色。** WebP 可以透明，JPEG 没有透明通道，必须填充背景。本页询问颜色并默认白色，仅在文件确实有透明像素时询问，检查的是解码后的像素而非格式。没询问的转换器不是保留透明，而是替你选择了黑色，这就是徽标黑底的来源。
- **画布不会保留的内容。** 图片解码并绘制到画布，画布只有像素，因此 EXIF、ICC 色彩配置、XMP 和版权信息都无法保留。多数人认为这是好处，另一些人认为是损失，所以事先说明。[EXIF 查看与移除工具](https://httcup.github.io/exif-editor/)可查看和编辑 JPEG、PNG 和 WebP 元数据，不重新编码图片。AVIF 支持只读查看提取到的 EXIF，清理时将第一张解码后的图片转换为新的 PNG，颜色或 HDR 可能改变。
- **Google 加载什么，又拿不到什么。** 广告和统计脚本来自 Google，捐赠按钮来自 Buy Me a Coffee。它们都不会获得你的图片信息。读取、解码和写入文件的每一行代码都来自本站，并列在代码仓库中。
- **可以离线使用。** 先加载页面再断开网络，工具仍然照常工作。这是最简单的证明：如果转换器把图片发送出去处理，它就不可能做到这一点。

**Check it yourself.** None of the above has to be taken on trust. This page is generated from the templates and config in the repository by a build script you can read and run yourself, and the result is committed to the `dist` branch — so you can diff what is served against what a build of the sources produces: https://github.com/httcup/tools

The files worth reading first are `config/site.toml` for the Content-Security-Policy，以及负责转换的 `src/shared/image-convert.js`：识别真实格式、解码，并从画布写出 JPEG。另两个格式转换器用同一份文件，约三百行，其中没有编解码器。
