命令行 WebP 转 PNG:Windows、Mac 和 Linux 方法大全

用命令行把 WebP 转成 PNG,涵盖 dwebp、ImageMagick 和 ffmpeg 在 Windows、macOS、Linux 上的用法,附批量转换脚本,以及何时该改用免安装的浏览器转换工具。

如果你经常从网上保存图片,大概率会遇到一堆 .webp 文件——老旧软件、邮件客户端或设计工具经常打不开它。把它们转成 PNG 就能解决兼容性问题,而用命令行来做还能顺便实现批量自动化。

本指南覆盖 Windows、macOS、Linux 上所有可靠的 WebP 转 PNG 命令行方法,并说明什么时候用一个免安装的浏览器转换器反而更快。

值得了解的三款命令行工具

命令行图片工具有很多,但真正适合 WebP 转 PNG 的只有三款:

  1. dwebp —— Google 官方的 WebP 解码器,属于 libwebp 包。由格式作者亲自开发,精度最高,输出无损 PNG。
  2. ImageMagick(magick —— 通用图片处理套件,支持上百种格式。当你还想同时缩放、重命名或批量处理时特别好用。
  3. ffmpeg —— 以视频处理闻名,但同样能解码 WebP、输出 PNG。如果你本就装了它来处理多媒体,顺手就能用。

三款工具都会保留 alpha(透明度)通道,所以透明 WebP 转换后依旧透明。

Linux / Ubuntu 上 WebP 转 PNG

大多数发行版默认不自带 WebP 解码器。先安装上面的任一工具,再执行一条命令即可。

使用 dwebp(libwebp)

# Ubuntu / Debian
sudo apt update && sudo apt install webp

# Fedora
sudo dnf install libwebp-tools

# Arch
sudo pacman -S libwebp

然后转换:

dwebp input.webp -o output.png

dwebp 会逐像素解码 WebP,写入无损 PNG。如果源文件本身是无损 WebP,得到的 PNG 与原文件完全一致。

使用 ImageMagick

sudo apt install imagemagick
magick input.webp output.png

在较老的系统上,ImageMagick v6 用的是 convert 命令(convert input.webp output.png)。v7 把所有功能统一到了 magick 之下。

使用 ffmpeg

ffmpeg -i input.webp output.png

想了解更多 Linux 专属选项和图形界面方法,参见我们的 Linux 上 WebP 转 PNG 指南

macOS 上 WebP 转 PNG

在 Mac 上最快的方式是用 Homebrew:

# 按需安装(任选其一)
brew install webp          # 提供 dwebp
brew install imagemagick   # 提供 magick
brew install ffmpeg        # 提供 ffmpeg

之后的命令和 Linux 完全一样:

dwebp input.webp -o output.png
# 或
magick input.webp output.png
# 或
ffmpeg -i input.webp output.png

不想碰终端的 Mac 用户,可以看我们的 Mac 上 WebP 转 PNG 指南,里面有拖拽转换的图文步骤。

Windows 上 WebP 转 PNG

Windows 有两条路:原生命令行工具,或 PowerShell。

安装解码器

# 用 winget 安装 ImageMagick
winget install ImageMagick.ImageMagick

# 或者下载 Google 的 libwebp(developers.google.com/speed/webp)
# 解压后把文件夹加进系统 PATH

单文件转换(PowerShell 或命令提示符)

magick input.webp output.png
# 或(libwebp 已加入 PATH)
dwebp input.webp -o output.png

更多 Windows 方法(包括系统自带的画图),参见 Windows 上 WebP 转 PNG

批量转换大量 WebP 文件

这正是命令行真正胜过手动浏览器操作的地方。如果某个文件夹里有几十个 WebP 图片,一行循环命令就能全部转换。

用 ImageMagick mogrify 批量(全平台通用)

magick mogrify -format png *.webp

mogrify 会读取当前文件夹下所有 .webp,并在旁边生成对应的 .png,原文件保留不变。

用 dwebp 批量(Linux / macOS)

for f in *.webp; do dwebp "$f" -o "${f%.webp}.png"; done

用 PowerShell 批量(Windows)

Get-ChildItem -Filter *.webp | ForEach-Object {
  magick $_.FullName ($_.BaseName + ".png")
}

命令行转换会损失画质吗?

不会。三款工具都是先解码 WebP,再把像素重新编码为 PNG(无损格式)。输出结果与 WebP 解码器产出的像素逐位一致,没有代际损失。关于 PNG 为何能保持画质,完整解释见我们的 WebP 转 PNG 不损画质 指南。

透明区域同样会被保留——alpha 通道直接复制过去。如果你的图片需要保留透明度,可参考我们的透明背景转换指南

什么时候该放弃终端、改用浏览器工具

命令行在批量任务和自动化方面无可匹敌。但如果只是转一两张图,为了它去装一个包、记一串语法就太费事了。浏览器转换器不需要安装、不用改 PATH、不用开终端——打开网页,拖入文件,下载 PNG 即可。

FreePNGConvert 正是为此而生。转换全程在你的浏览器里通过 Canvas API 完成,文件从不离开你的设备,免费且无文件数量限制。关于隐私优势和离线浏览器工具的对比,参见我们的 WebP 转 PNG 离线指南

场景最佳选择
转 1–3 张图,不想安装任何东西浏览器工具(freepngconvert.com
转一个文件夹里 50+ 个 WebPmagick mogrify -format png *.webp
脚本 / CI 流水线dwebpmagick
没有图形界面的服务器dwebp(依赖最小)

常见问题

哪款命令行工具输出的 PNG 最干净、最小?

dwebp 最忠实,因为它是 Google 官方解码器。ImageMagick 和 ffmpeg 输出的画面几乎完全相同,但可能附带略微不同的 PNG 元数据。对网页用途来说差异可以忽略。

不装任何东西也能把 WebP 转成 PNG 吗?

可以。像 FreePNGConvert 这样的浏览器工具无需安装——转换在浏览器里完成。如果需要反复或批量使用,本地命令行工具更方便。

这些命令会保留透明度吗?

会。dwebpmagickffmpeg 都会保留 alpha 通道,WebP 里的透明区域在 PNG 中依旧透明。

动态 WebP 怎么办?

静态 WebP 用三款工具都能干净转换。动态 WebP 则不同——每款工具提取帧的方式不一样,而且一张 PNG 只能存一帧。动态源文件通常更适合导出为 GIF 或雪碧图。

浏览器方法和命令行一样准吗?

功能上一样。浏览器的 Canvas API 会逐像素解码 WebP,得到的像素数据和 dwebp 产出的一致,两者都是无损 PNG。更多对比参见我们的 WebP 与 PNG 画质对比


最后更新:2026-06-15