まず手短な答え:画像が写真で、ファイルが大きすぎると感じるときにPNGをJPGへ変換しましょう。画像にくっきりした縁、文字、フラットな色のブロック、透過があるなら、PNGのまま保ちましょう。このたった一つの区別が、ほぼすべての場合を決めます。

PNGとJPGは違う仕事のために作られました。PNGはピクセルを劣化なしで保存し、あらゆる縁がくっきり保たれるべきスクリーンショット、ロゴ、図に最適です。JPGは目がほとんど気づかない細部を捨て、それこそが6MBの写真を、目立って悪く見えることなく600KBに縮める仕組みです。

核心の取捨選択

PNGからJPGへ — 役立つとき、損するとき — visual 1
核心の取捨選択
PNG JPG
圧縮 劣化なし 非可逆
透過 あり(アルファチャンネル) なし
得意なもの ロゴ、文字、スクリーンショット、線画 写真、複雑なグラデーション
写真の典型的サイズ 大きい 5〜10倍小さい
繰り返し編集 安全 保存のたびに劣化

透過の行は、思われている以上に重要です。透過背景のPNGをJPGに変換すると、その透明な部分は無地の色——たいてい白か黒——になります。回避策はありません。JPGにアルファチャンネルはないのです。ロゴが色付きのページの上に浮く必要があるなら、JPGはそれを台無しにします。

PNGからJPGが正しい一手であるとき

PNGからJPGへ — 役立つとき、損するとき — visual 2
PNGからJPGが正しい一手であるとき
  • PNGで保存された写真。 これは最もよくある無駄です。カメラやデザインツールが写真をPNGで書き出すことがあり、必要の数倍大きなファイルを生みます。80〜85%の品質でJPGに変換すれば、たいてい目に見える違いなくサイズを劇的に削れます。
  • メールやアップロードでサイズ上限に当たっている。 JPGは互換性と軽さを両立する最も安全な賭けです。
  • 透過が不要な場所に向かう画像 — ブログ本文の画像、ファイルに白背景を焼き込んだ商品写真、スライドなど。

PNGを保つべきとき

  • 文字入りのスクリーンショット。 JPGは細かい文字をにじませ、縁のまわりにぼやけたハローを作ります。PNGは文字を読めるまま保ちます。
  • ロゴとアイコン。 フラットな色はJPGでひどく、PNGで美しく圧縮されます。
  • 再利用する予定の透過があるもの。
  • 編集を続けるマスターファイル。 JPGは保存し直すたびに少しずつ失います。PNG(または元データ)で編集し、最後に一度だけJPGへ書き出しましょう。

中間の道:WebP

届け先がウェブサイトなら、どちらよりも良い答えがしばしばあります。WebPは写真も透過も扱い、同じ品質でたいていJPGより小さくなります。現行のすべてのブラウザが対応しています。だから画像がウェブに向かい、小さなファイルアルファ対応の両方がほしいなら、PNG→JPGではなくPNG→WebPを検討しましょう。

何もアップロードせずに変換する方法

デスクトップアプリも、ファイルをサーバーに取り込むサイトも要りません。画像変換はCanvasを使って完全にブラウザ内で動きます。画像は端末から出ず、アカウントもなく、サービスワーカーのおかげで初回訪問後はオフラインで動きます。PNGのバッチを放り込み、JPGを選び、品質レベルを選んで、ダウンロードするだけ。何もアップロードされないので、私的な、あるいは機密の画像にも安心です。

品質について実用的に一点。JPGでは、写真なら80〜85%あたりがちょうどいいところです。それより高くするとファイルは膨らむのに違いは見えず、はるかに低くすると空や肌の色に圧縮ノイズが出始めます。

手早い判断ルール

一つ問いましょう。この画像に透過、文字、くっきりした縁があるか? はいなら、PNGを保つ。写真で小さくしたいなら、JPGに変換する。ウェブ向けなら、代わりにWebPを検討する。これで出くわすほぼすべての場面をカバーできます。