> ## 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の向き不向き
- URL: https://www.sakashita.page/webp-compatibility-lossless-vs-lossy/
- Published: 2025-11-11T03:00:09.000Z
- Updated: 2026-02-25T13:32:21.000Z
- Author: Sakashita Yasunobu
- Tags: 技術

WebpにはLosslessとLossyの2つのオプションがある。常識的に考えて、Losslessはファイル容量がデカくなりがちで、ファイル容量を小さくしたければLossyを使えばいいと思うが、意外とそんなことないので、用途を考えて使い分けましょうという話。

[ウェブ用の画像形式 | WebP | Google for Developersウェブ用により小さい画像を作成するこの画像形式の詳細や、G4 Converter のダウンロードやサポートのためのリンクを確認できます。![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/icon/favicon-new.png)Google for Developers![](https://storage.ghost.io/c/94/1f/941f9972-ad5c-4231-a438-ca329c85433f/content/images/thumbnail/google-green.png)](https://developers.google.com/speed/webp?hl=ja)

最近、ScanSnapのix1300で本をスキャンするようになった。白黒の最高解像度でスキャンをする場合、PDFで画像が出力される。PDFよりも汎用的な画像ファイルのほうが都合がいいので、[pdfimages](https://manpages.debian.org/testing/poppler-utils/pdfimages.1.en.html)で画像を抜き出している。

## PDFから画像をTiffで抜き出す

PDFが一個だけ

```powershell
$base = (Get-Item *.pdf).BaseName; pdfimages -tiff *.pdf temp; Get-ChildItem temp-*.tif | ForEach-Object { Rename-Item $_ ($_.Name -replace '^temp-',"$base-") }

```

複数PDF

```powershell
Get-ChildItem *.pdf | ForEach-Object { $base = $_.BaseName; pdfimages -tiff $_.Name temp; Get-ChildItem temp-*.tif | ForEach-Object { Rename-Item $_ "$base-$($_.Name -replace 'temp-','')" } }

```

## Lossy Webpに変換

そのまま出力してもあまり使いやすくないので、TIFFに出力し、それをcweb.exeでWebpに変換している。

```powershell
Get-ChildItem *.tif | ForEach-Object { cwebp -q 82 -m 6 -af -mt "$_" -o "$($_.BaseName).webp"; if($LASTEXITCODE -eq 0) { Remove-Item $_ } }

```

深く考えずに、Lossy Webpに変換していたのだが、なんとTIFFファイルよりもファイル容量が大きくなったので、びっくり。

## Lossless Webpに変換

ダメ元でLossless Webpに変換したら非常に小さなファイル容量になった。

```powershell
Get-ChildItem *.tif | ForEach-Object { cwebp -lossless -z 9 "$_" -o "$($_.BaseName).webp"; if($LASTEXITCODE -eq 0) { Remove-Item $_ } }

```

## Losslessの方が小さい？なんで？

Lossless WebPは、PNGと同様に画像の冗長性やパターンを利用して圧縮しする。つまり、単純な画像（白黒スキャン、図表、ロゴ、アイコンなど）では圧縮率が非常に高くなる。色の繰り返し、エッジの鮮明さ、パターンが多いほど効率的。

Lossy WebPは、写真のような複雑な画像向けに設計されていて、複雑なグラデーションや自然な質感を効率的に圧縮する。単純な画像だと、そのアルゴリズムが逆に非効率になることも

白黒スキャン画像は色数が少なく繰り返しパターンが多いので、Losslessが大活躍するわけ。

逆に、カラースキャンのように、輪郭に中間色が入ってくるようになると、効率はガクッと下がる。

📄

スキャン文書・図表・ロゴ → Lossless

- 文字がぼやけない
- ファイルサイズも小さい

🖼️

写真・複雑なグラフィック → Lossy

- 圧縮率が高い
- 視覚的な劣化が少ない

## じゃあ何を使えばいいのよ？

基本的にはLossy Webpを使っていればいい。白黒スキャンしたドキュメントなど、TIFFやPNGでも小さい画像はLossless Webpを検討してもいいかなという感じ。