ブログの画像はWebPでどれだけ軽くなるか JPEGとのファイルサイズと画質を実測しました

JPEGとWebPの変換方式ごとのファイルサイズ実測グラフ(写真3枚)IT・仕事術

記事内に広告が含まれています。

私は旅行ブログをやっていて、記事に写真をたくさん載せています。写真が増えるほどページは重くなるので、画像を軽くする方法を、数字で確かめてみることにしました。

そこで今回は、自分のブログで使う写真3枚を使って、JPEG の保存し直しと WebP への変換でファイルサイズと画質がどう変わるかを実測しました。この記事では、測った数字をそのまま紹介します。

この記事でわかること

  • JPEG を保存し直すとファイルサイズがどう変わったかがわかります。
  • WebP の品質80と品質90で、サイズと画質にどんな差が出たかがわかります。
  • WebP のロスレス保存が写真に向くかどうかがわかります。
  • 表示幅に合わせて縮小してから WebP にすると、どこまで軽くなるかがわかります。
  • 変換にかかった時間と、私が採用しようと考えている運用を紹介します。

測り方

素材にした写真

素材は、このブログの記事用に用意した写真3枚です。夜の運河、建物の外観、ボトルの棚の3枚で、いずれも 900×1200px の JPEG でした。元のファイルサイズは 210,187〜226,196 バイトです。

変換した5つのパターン

変換には Python の画像ライブラリ Pillow を使い、次の5パターンを試しました。実施日は 2026年11月3日で、環境は CPU 2コアの VM です。

  • JPEG を品質85で保存し直します。
  • WebP を品質80で保存します。
  • WebP を品質90で保存します。
  • WebP をロスレス(劣化なし)で保存します。
  • 幅768pxに縮小してから、WebP を品質80で保存します。

なお、この環境の Pillow では AVIF を保存できなかったため、AVIF は試行していません。

画質の測り方

画質は ffmpeg の SSIM で測りました。SSIM は、1に近いほど元の画像に近いことを示す指標です。幅768pxに縮小したパターンだけは、縮小後の元画像と比べています。

結果の表

3枚の写真について、バイト数、元のJPEGに対する比率(元比)、SSIM をまとめました。

JPEGとWebPの変換方式ごとのファイルサイズ実測グラフ(写真3枚)

写真元JPEG(バイト)JPEG85(バイト/元比/SSIM)WebP80(バイト/元比/SSIM)WebP90(バイト/元比/SSIM)WebPロスレス(バイト/元比/SSIM)幅768+WebP80(バイト/元比/SSIM)
夜の運河217,784228,339/104.8%/0.9967148,016/68.0%/0.9742236,348/108.5%/0.9896900,388/413.4%/0.9986112,678/51.7%/0.9777
建物の外観210,187221,206/105.2%/0.9961147,768/70.3%/0.9701229,916/109.4%/0.9886869,254/413.6%/0.9982108,662/51.7%/0.9751
ボトルの棚226,196238,536/105.5%/0.9966154,572/68.3%/0.9775236,568/104.6%/0.9893987,566/436.6%/0.9980118,574/52.4%/0.9811

結果から分かったこと

JPEG の保存し直しは軽くならず、増えました

JPEG を品質85で保存し直しても、軽くはなりませんでした。3枚とも元比は 104.8〜105.5% で、わずかに増えています。SSIM は 0.9961〜0.9967 でした。

増えた理由は、元の JPEG が品質85より低い設定で保存されていたためではないかと考えています。ただし、これは推測です。元の保存設定そのものは確認できていません。

WebP 品質80は約3割小さくなりました

WebP を品質80で保存すると、3枚とも約3割小さくなりました。元比は 68.0〜70.3% です。SSIM は 0.9701〜0.9775 でした。

JPEG85 の SSIM(0.9961〜0.9967)と比べると数値は下がっています。この数字から見ると、軽くなった一方で、元画像との近さは少し下がったことがわかります。

WebP 品質90は元より大きくなりました

WebP を品質90にすると、3枚とも元のJPEGより大きくなりました。元比は 104.6〜109.4% です。SSIM は 0.9886〜0.9896 で、品質80より元画像に近い数値でした。

つまり、品質90では画質の数値は上がりますが、ファイルサイズの面では軽量化になりませんでした。

WebP のロスレスは約4倍になりました

WebP のロスレスは、写真では元の約4.1〜4.4倍になりました。SSIM は 0.9980〜0.9986 と最も高い数値でしたが、写真を軽くする目的には向かないとわかりました。

ちなみに、ロスレスなのに SSIM が 1.0 にならなかった点は、JPEG を読み込む側(Pillow)と SSIM を比べる側(ffmpeg)で、デコード結果にわずかな差があるためだと考えています。こちらも推測で、確かめてはいません。

幅768pxに縮小して WebP 品質80にすると約半分になりました

表示幅に合わせて幅768pxに縮小し、WebP 品質80で保存すると、元比は 51.7〜52.4% と約半分になりました。SSIM は 0.9751〜0.9811 でした。

縮小したパターンの SSIM は縮小後の元画像との比較なので、他のパターンと完全に同じ条件の数字ではありません。それでも、サイズが約半分になりながら、SSIM は 0.9751〜0.9811 と、縮小せずに品質80で保存したとき(0.9701〜0.9775)と同じくらいの数値でした。

変換にかかった時間

品質80・品質90・縮小して品質80の WebP は、1枚あたり 0.36〜0.79秒でした。ロスレスの WebP は 1.13〜1.91秒でした。JPEG の保存し直しは約 0.01秒以下でした。品質80の変換なら、100枚でも長くて約80秒の計算です。

私の運用

今回の実測から、私は次の運用にしようと考えています。

  • 記事での表示幅に合わせて、画像を先に縮小します。
  • 縮小した画像を WebP の品質80で保存します。
  • JPEG の保存し直しや WebP の品質90は、軽量化が目的なら使いません。
  • ロスレスは写真には使いません。

理由は単純で、今回の5パターンのうち、サイズが約半分になったのは縮小と WebP 品質80を組み合わせたときだけだったからです。画質の数値も、SSIM で 0.9751〜0.9811 に収まっていました。

ただし、今回測ったのは写真3枚だけです。AVIF も試していないので、他の形式との比較はできていません。別の写真や別の設定では結果が変わる可能性があります。

まとめ

ブログの写真3枚で測った結果、JPEG の保存し直しは約5%増え、WebP 品質80は約3割減り、WebP 品質90は増え、ロスレスは約4倍になりました。表示幅の768pxに縮小してから WebP 品質80で保存すると、元のファイルの約半分になりました。

写真を多く載せる私のブログでは、縮小してから WebP 品質80で保存する方法を使っていこうと考えています。写真の多い記事の例として、ニューオーリンズのハロウィンパレードの記事もあわせて読んでいただけるとうれしいです。

コメント

タイトルとURLをコピーしました