PNG vs JPEG
どちらも写真を保存できますが、トレードオフが異なります。実際の違いと、選び方をまとめました。
Short answer
これは画質と容量の選択ではなく、中身の種類の選択です。写真は JPEG に、文字と線と平坦な色は PNG に。
Why this comes up
これはウェブでいちばん古い比較で、いちばん雑に答えられている比較でもあります。よくある要約「PNG のほうが高画質、JPEG のほうが小さい」は厳密には間違いではありませんが、これを頼りにすると人はしょっちゅう間違ったファイルを選びます。旅行写真の 6MB の PNG や、文字という文字の周りに灰色のにじみが出たスクリーンショットの JPEG です。役に立つ判断基準は画質設定とは無関係で、写っているものだけで決まります。
項目別の比較
| 項目 | PNG | JPEG |
|---|---|---|
| 圧縮方式 | 可逆 | 非可逆 |
| 透過 | 対応 | 非対応 |
| 一般的なファイルサイズ | 同等の JPEG のおよそ 300-500% | 同等の JPEG のおよそ 100% |
| 互換性 | 数十年前のソフトも含め、どこでも開けます | 数十年前のソフトも含め、どこでも開けます |
| 主な入手元 | スクリーンショット、ロゴ、図版 | デジタルカメラや写真共有 |
What actually differs
圧縮の仕組みが正反対
JPEG は、目が気づきにくい細部、主に細かな色の変化と高周波のノイズを捨てます。写真を構成する連続的なグラデーションに対して、これがよく効きます。PNG は何も捨てず、代わりに画素の行に沿った厳密な繰り返しを探します。スクリーンショットにはそれが大量にあり、写真にはほとんどありません。それぞれ設計どおりの中身を与えれば、どちらも小さくなります。入れ替えれば、どちらもひどいことになります。
保存を繰り返しても無事なのは PNG だけ
JPEG は開いて編集して保存し直すたびに再圧縮され、そのたびに少しずつ失われます。十数回もやれば、輪郭のまわりにブロック状のノイズが現れます。PNG は何度往復してもバイト単位で同一です。そのファイルが完成品ではなく作業中の書類なら、これだけで答えは決まります。
透過があるのは PNG だけ
JPEG にアルファチャンネルはありません。透過 PNG を JPEG に変換しても透過 JPEG にはならず、透明だった領域はベタ塗りで埋まります。ツールによって白か黒が多いです。被害に遭いがちなのはロゴです。透過の上のくっきりしたマークが、白い四角の上のマークになり、色の付いた背景に置くとその四角がはっきり見えます。
Which to use
Use PNG for
文字を含むスクリーンショット、ロゴ、アイコン、図表、線画、透過が要るもの、そしてあとでもう一度編集するファイル。
Use JPEG for
写真と写実的なレンダリング。PNG にしても見た目の得はなく、容量が 3〜5 倍かかります。
One thing that catches people out
写真のスクリーンショットは写真
「スクリーンショットは PNG」という決まりは、中身に従うものであって、どうやって作ったファイルかには従いません。全画面の写真、動画の一コマ、衛星画像の地図を撮れば、捉えたのは連続階調のデータです。PNG はそれを数メガバイトで保存しますが、見返りはありません。どのキーを押して撮ったかではなく、画面に何が写っているかを見てください。