ダウンロードしたWebPが開けないとき:JPG・PNGに変えると何が変わる?
作成 · 更新 · 運営者(個人)
Webから保存した画像が.webpで終わっていて、いつものアプリで開けなかったり、アップロード欄で受け付けてもらえなかったりしませんか。ミルキットの形式変換で、写真はJPGに、透明な背景がある画像はPNGにすれば、たいてい解決します。自作のWebPを2つ変換して、容量と画質がどう変わるかを確かめました。
なぜWebPだけ断られるのでしょう?
WebPはWebページを軽くするためによく使われる形式なので、ブラウザーで画像を保存するとWebPになることがよくあります。ところが、古い写真編集アプリや一部のプリント注文サイト、書類の提出欄には、JPG・PNGしか受け付けない所があります。ファイルが壊れているのではなく、受け取る側の許可リストにWebPがないのです。
このとき、拡張子だけを.jpgに書き換えてはいけません。名前が変わるだけで中身はWebPのままなので、中身を確かめる相手には再び断られたり、壊れた画像として表示されたりします。形式そのものを変えて保存する必要があります。
写真のWebPを変換した結果
草むらと小さな看板の文字がある2400×1600の写真を、別のプログラム(libvips)で画質80のWebPにしました。374.1KBです。このファイルをミルキットの形式変換と同じ処理に通し、保存形式だけを変えました。
JPG 85%は374.8KBで元のWebPとほぼ同じ容量、元のWebPと比べたPSNRは36.9dBでした。JPG 92%は703.0KBで38.7dB、JPG 95%は981.1KBで40.3dBです。PNGは元のWebPとピクセルが100%同じでしたが、4.29MBと約12倍になりました。
覚えておきたいのは、WebPで保存されたときに失われた細部は、どの形式に変えても戻らないということです。PNGは今の見た目をそのまま固定するだけで、JPGはその上に少し圧縮を加えます。下の比較画像では、4つの結果どれも看板の文字を問題なく読めました。
透明なステッカーはPNGに
半透明の影がある800×800のステッカーWebP(29.3KB)も変換しました。完全に透明なピクセルが266,263個、半透明の影のピクセルが92,113個ある画像です。
PNGで保存すると93.6KBになり、透明なピクセルの数も色も元のWebPと1つも違いませんでした。JPG 85%は19.5KBと小さくなりましたが、透明なピクセルは0個になりました。JPGには透明を入れる場所がないため、ミルキットは空いた所を白で塗ります。白い背景に置くなら問題ありませんが、色のある背景に重ねるロゴやステッカーならPNGを選んでください。
ミルキットで変換する手順
- 形式変換を開き、ダウンロードしたWebPを追加します。複数枚まとめて入れても大丈夫です。
- 保存形式で、写真ならJPG、透明な背景がある画像ならPNGを選びます。
- 容量の調整を「画質で調整」のままにすると、画質85%で保存されます。今回の試験で元のWebPとほぼ同じ容量になった値です。
- プレビューで比較を押して元の画像と結果を確かめ、保存 ↓を押します。
送り先に容量の上限があるなら、容量の調整を「容量で調整」に変え、「目標以下に合わせる」にその数字を入れてください。上限の中で一番高い画質をミルキットが探します。
画質の数字はいくつにする?
今回の写真では、85%で元のWebPと同じ容量になりました。ダウンロードしたWebP自体がすでに圧縮されたファイルなので、95%に上げても容量が2.6倍になるだけで、WebPになかった細部が生まれるわけではありません。印刷のようにもう一度編集する予定がなければ、85%程度で十分でした。
逆に、何度も直して保存する画像なら、先にPNGに変えてから作業するのがおすすめです。JPGで保存するたびに圧縮が少しずつ重なるからです。最後に送るときに一度だけJPGで保存しましょう。
変換したファイルは本当にJPG?
保存した結果を別のプログラム(libvips)で開き直し、中身の形式を確かめました。JPGで保存したファイルはすべてJPEG、PNGで保存したファイルはPNGとして読まれ、縦横も2400×1600のままでした。名前だけを変えたファイルと違い、中身を検査されても通る本物のJPG・PNGです。
送り先がWebPを受け付けるなら、無理に変える必要はありません。今回の写真のように、同じ容量のJPGは画質を少し多く失うことがよくあるので、変換は断られたときだけで十分です。
動くWebPは?
3コマの動くWebPも入れてみましたが、ミルキットは「アニメーションWebPにはまだ対応していません。」と表示して開きませんでした。対応形式の表でも、アニメーションWebPは非対応と書かれています。最初の1コマだけを黙って変換し、動きを失うのを防ぐための動作です。
関連するツールを開くMiruKitで実際に確認した結果
| ファイル・保存形式 | 容量 | 元のWebPとの差 | 透明 |
|---|---|---|---|
| 写真のWebP(ダウンロード) | 374.1 KB | — | — |
| → JPG 85% | 374.8 KB | PSNR 36.9 dB | — |
| → JPG 92% | 703.0 KB | PSNR 38.7 dB | — |
| → JPG 95% | 981.1 KB | PSNR 40.3 dB | — |
| → PNG | 4.29 MB | 100%同じピクセル | — |
| ステッカーのWebP(ダウンロード) | 29.3 KB | — | 完全に透明 266,263px · 半透明 92,113px |
| → PNG | 93.6 KB | 100%同じピクセル | そのまま維持 |
| → JPG 85% | 19.5 KB | — | 0px(白で塗る) |
libvipsで作った2400×1600の写真WebP(画質80)と、半透明の影がある800×800のステッカーWebPを、公開中のprocessImageでJPG・PNGに変えました。PSNRは元のWebPを開いたピクセルと比べたRGB値です。3コマの動くWebPも試しました。


知っておきたいこと
上の数字は自作の試験画像2枚の結果です。手元のWebPの画質や内容によって、変換後の容量は変わります。
形式を変えても、WebPで保存されたときに失われた細部は戻りません。元のファイルがあるなら、そこから直接JPGを作るほうがきれいです。
ミルキットは初期設定で、撮影日時・カメラ・位置情報を削除して保存します。残したいときは、追加設定で「元の画像からコピー」を選んでください。