> ## Content Index
> Fetch the complete content index at: https://www.sakashita.page/llms.txt
> Use this file to discover other available public pages before exploring further.

# WebpとAVIFをWindowsでローカルに使ってみる
- URL: https://www.sakashita.page/webp-and-avif-local-use-on-windows/
- Published: 2025-11-12T03:00:32.000Z
- Updated: 2025-11-12T03:00:44.000Z
- Author: Sakashita Yasunobu
- Tags: 技術

ブラウザツールはいろいろあるのだが、ローカルでやるのがやはり便利なのでその方法を模索する。

[sharpで画像を一括圧縮、WebP・AVIF変換する - Web production note画像変換ライブラリsharpを用いて、画像をまとめて圧縮や変換（Webp・AVIF・JPG・PNG）できる方法をまとめました。![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/cropped-favicon-270x270.png)Web production note![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/other.jpg)](https://coding-memo.work/development/2612/)

非公式なコマンドラインツールなどもあるが、開発が最新のバージョンに追随していなかったりするので、おとなしく公式実装を使うのがよさそう。

[PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリース。PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリースされています。詳細は以下から。![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/cropped-AAPL-Ch-favicon-512x512-180x180.jpg)AAPL Ch.AAPL Ch.![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/cavif-PNG-and-JPEG-to-AVIF-converter.jpg)](https://applech2.com/archives/20210624-cavif-png-and-jpeg-to-avif-converter.html)

## Webp

WebpはGoogleが作ったナウい画像形式。古臭いJPEGに比べて画質を保ったまま小さくできるのがウリ。

WebpのダウンロードはGoogle公式ページの「[Windows版をダウンロード](https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-windows-x64.zip)」から。

[WebP のダウンロードとインストール | Google for Developers![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/favicon-new-1.png)Google for Developers![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/google-green-1.png)](https://developers.google.com/speed/webp/download?hl=ja)

`libwebp-1.6.0-windows-x64` のようなフォルダーがダウンロードされるハズ。その中にある `bin` フォルダー以下に `cweb.exe` などの各種ツールが入っているので、 適当に `C:\\program files\\libwebp-1.6.0-windows-x64\\bin\\` のように配置して、環境変数にパスを登録しておく。

### 使い方

公式サイトに詳しく説明がある。

[cwebp | WebP | Google for Developers![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/favicon-new-2.png)Google for Developers![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/google-green-2.png)](https://developers.google.com/speed/webp/docs/cwebp?hl=ja)

WebpにはLossyとLosslessの圧縮モードがある。

### 非可逆圧縮

Lossyならこれ。

```powershell
cwebp input_file -o output_file.webp

```

基本的にはこれでOK。引数などのパラメータはデフォルトが結構考えられてセットされているので、下手にいじらないほうがいいのかもなあという結論。

### 可逆圧縮

PNGやTiffのような可逆圧縮の代替として使いたいならLossless圧縮。

```powershell
cwebp -lossless input_file -o output_file.webp

```

圧縮モードの指定を `-z int` 引数で行える。1から9まで指定ができる。デフォルトは6だが私は基本的に9を指定してる。オプション `-q` または `-m` が後で使用されると、このオプションの効果が無効になります。

## AVIF

AVIFのお勉強サイトをGoogleが公開しているので、参考にする。

[AVIF 画像の配信 | Google Codelabs![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/favicon-17.png)Google Codelabs![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/translated-2.svg)](https://codelabs.developers.google.com/codelabs/avif?hl=ja#0)

### avifencを導入する

[Releases · AOMediaCodec/libaviflibavif - Library for encoding and decoding .avif files - AOMediaCodec/libavif![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/pinned-octocat-093da3e6fa40-8.svg)GitHubAOMediaCodec![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/libavif)](https://github.com/AOMediaCodec/libavif/releases)

ここから最新のリリースビルドをダウンロードする。

`windows-artifacts.zip` をダウンロードすればよい。

適当に `C:\\Program Files\\windows-artifacts` のように配置して、環境変数にパスを登録しておく。

### 使い方

たぶん、avifはLossyしかないハズ。

```powershell
avifenc happy_dog.jpg example.avif

```

基本的にこのコマンドでOK。

## カレントディレクトリ以下の全JPEG/PNG画像ファイルをWebpあるいはAVIFに変換する

Powershellワンライナーに。

画像ファイルを新しい形式に変換して、置換する。

💡

元ファイルは削除されるので、注意。

### 注意点

- デフォルト品質を使用（avifencとcwebpのデフォルト設定）
- **必ずバックアップを取ってからテスト実行してください**
- まずは`WhatIf`や小さなフォルダーでテストすることをお勧めします

## AVIF Lossy

```powershell
Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.avif'; avifenc $_.FullName $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

```

## WebP Lossy (デフォルト品質)

```powershell
Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.webp'; cwebp $_.FullName -o $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

```

## WebP Lossless

```powershell
Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png | ForEach-Object { $out = $_.FullName -replace '\\.(jpg|jpeg|png)$','.webp'; cwebp -lossless $_.FullName -o $out; if($LASTEXITCODE -eq 0) { Remove-Item $_.FullName } }

```

### 動作説明

- `Get-ChildItem -Recurse -Include *.jpg,*.jpeg,*.png`: カレントフォルダー以下の全画像を再帰的に取得
- 拡張子を`.avif`または`.webp`に置換
- 変換コマンド実行
- `$LASTEXITCODE -eq 0`で成功確認後、元ファイルを削除