PNGとして保存したスクリーンショットは簡単に2〜5 MBに達しますが、同じ画像をJPEGで 保存すると約200 KBになります — 視覚的に同じ結果なのに10〜25倍の差があります。これが PNGフォーマットの核心的なトレードオフです: すべてのピクセルを正確に保存するロスレス 圧縮で、近似や品質劣化がありません。PNGが大きい理由を理解することが、品質を犠牲にせずに ファイルを小さくする第一歩です。
PNGファイルが大きい理由
PNGはロスレス保存のために設計されています。すべてのピクセル値が正確に記録されるため、 圧縮アルゴリズムは圧縮データから元の画像をビット単位で再構築する必要があります。 この精度には固有のサイズコストが伴います:
- 完全なピクセル忠実度 — 32ビットカラー(RGBA)の1920×1080画像は 8 MB以上の生ピクセルデータを持ちます。PNGのDeflate圧縮はこれを削減しますが、 JPEGの非可逆圧縮率には及びません。
- Deflate圧縮の限界 — PNGはZIPファイルと同じDeflateアルゴリズムを 使用します。ロスレス圧縮は冗長性のみを利用するため — 繰り返しパターン、フラットな 色領域 — 複雑な写真コンテンツは圧縮できる冗長性がほとんどありません。
- アルファチャンネルのオーバーヘッド — 透明度(4番目のRGBAチャンネル)は ピクセルあたり8ビットを追加します。1920×1080のRGBA画像はアルファデータだけで 約2 MBを占めます。
- 埋め込みメタデータ — PNGファイルにはEXIFデータ、ICCカラープロファイル、 作成タイムスタンプ、ソフトウェアコメントが含まれることがあり、表示目的のないデータが 5〜100 KBを占めることがあります。
ロスレスPNG圧縮
ロスレス圧縮ツールは、より積極的なDeflate設定、最適化されたフィルター選択、メタデータ 除去を使用してPNGファイルを再エンコードします — ピクセル値は変更しません。出力ファイルは デコード時に入力ファイルとバイト単位で同一です。一般的な節約量: 10〜30%。
主要なロスレスPNG最適化ツール:
- oxipng — 高速なマルチスレッドRust実装です。複数の圧縮戦略を試して 最良の結果を選択します。バッチ処理に推奨されます。
- pngcrush — クラシックなツールです。114種類の異なる圧縮方法を試して 最小の結果を使用します。oxipngより遅いですが広くサポートされています。
- Zopfli — Googleの超圧縮ライブラリです。可能な限り小さいDeflate 圧縮出力を生成しますが、標準ツールより100倍遅いです。変更されない静的アセットの 一回限りの最適化に理想的です。
これらのツールはすべてのPNGに対して安全です — 結果は元の画像と視覚的にも数値的にも 同一です。ピクセル完全な精度が必要な場合に正しい選択です: 医療画像、デザインソースファイル、 ドキュメント用スクリーンショット。
非可逆PNG圧縮
非可逆PNG圧縮は、エンコード前に画像内のユニークな色数を減らすために量子化を適用します。 pngquantによって普及した最も広く使用されている技術は、32ビットRGBA PNG (最大1670万色)を8ビットインデックスカラーPNG(最大256色)に変換します。 一般的な節約量: 50〜80%。
これは急激に見えますが、インテリジェントなディザリングアルゴリズムが隣接ピクセルに 色近似エラーを分散させるため、人間の目は滑らかな結果を認識します。ロゴ、アイコン、 イラスト、UIスクリーンショット、フラットカラー領域の多いグラフィックの場合、視覚的な 差はほぼ無視できます。写真や微妙なグラデーションのある画像は、高い削減率で若干の カラーバンディングが見える場合があります。
- 非可逆PNGに適している: ロゴ、アイコン、アプリスクリーンショット、 ウェブUIグラフィック、フラットカラーのイラスト。
- 非可逆PNGを避けるべき場合: 写真、グラデーションのある画像、 さらに編集されるソースファイル。
色深度の削減
PNGは複数のカラーモードをサポートしています。画像に適したモードを選択することは、 知覚できる品質変化なしにファイルサイズを大幅に削減する簡単な方法です:
- 8ビットインデックス(パレット)PNG — 最大256色。ロゴ、アイコン、 ピクセルアート、イラスト、フラットカラー領域のある画像に最適です。ファイルは 24ビット相当より60〜80%小さくなる可能性があります。ほとんどのデザインツールは、 画像が32色しか使用していない場合でもデフォルトで32ビットPNGとしてエクスポートします。
- 24ビットRGB PNG — 1670万色、透明度なし。全色空間が必要な写真と 複雑なカラーグラデーションのある画像に最適です。アルファチャンネルがないため 32ビットより小さいです。
- 32ビットRGBA PNG — 1670万色 + 透明度。画像に実際の透明度がある 場合にのみ必要です。多くのエクスポートされたPNGは、すべてのピクセルが完全に不透明な 場合でもアルファチャンネルを含みます — これを削除するとファイルサイズが約25%削減 されます。
PNGを評価する際に確認してください: この画像に実際に透明度がありますか?256色以上の ユニークな色を使用していますか?両方の答えがノーであれば、8ビットパレットPNGが適切で、 大幅に小さくなります。
アルファチャンネルの最適化
アルファチャンネルはPNGファイルで最も頻繁に過剰使用される機能です。32ビットRGBA PNGを 保持する前に考慮してください:
- 透明度が必要ない場合? — RGBAをRGBに変換してください。アルファ チャンネルを完全に削除し、圧縮前の生ピクセルデータを25%削減します。単色の背景に 配置されるウェブ画像は、ほぼ常にこれが正しい選択です。
- バイナリ透明度? — ピクセルが完全に不透明か完全に透明の場合 (部分透明度なし)、完全なアルファチャンネルの代わりにPNGのtRNS透明度チャンクの 使用を検討してください。これはピクセルごとの値ではなくパレットインデックスとして 透明度を保存します。
- 半透明エッジの単純化 — 既知の背景色に対してアンチエイリアス処理された エッジは、事前合成してアルファの必要性を排除できます。例えば白いカードのロゴは RGBAではなくRGBとしてエクスポートできます。
- 透明度がまったくない? — JPGに変換してください。PNGに透明度がなく 写真が含まれている場合、JPEGは同等の視覚品質でずっと小さくなります。
PNGからWebPまたはAVIFに切り替えるべき時
ウェブ使用の場合、最も影響の大きい最適化はしばしばフォーマット自体を切り替えることです。 現代の画像フォーマットは同じ視覚品質でPNGより優れた圧縮を達成します:
- WebPロスレス — ロスレスモードのGoogle WebPフォーマットは、同じ 画像に対してPNGより平均26%小さいです。透明度もサポートします。すべての現代 ブラウザでサポートされています。ウェブグラフィックの場合、PNGをWebPロスレスに 変換することはほぼ常に有益です。
- WebP非可逆 — 誤ってPNGとして保存された写真の場合、WebP非可逆は 同等の視覚品質でJPEGより25〜34%小さいファイルを達成します。写真のPNGを圧縮 しようとするよりずっと優れています。
- AVIF — 最新フォーマットです。AVIFロスレスはPNGより50%小さく なる可能性があります。最先端の最適化に優れています。ブラウザサポートは強力ですが (Chrome、Firefox、Safari 16+)、WebPより若干狭いです。
ソフトウェアをインストールせずにPNGファイルをWebPまたはAVIFに変換するには、 Picovertの画像変換ツールを使用してください。 変換はすべてブラウザ内で実行されます。
オンラインPNG圧縮ツール
ソフトウェアをインストールせずに素早くPNGを圧縮するには、Picovertの 画像圧縮ツールがブラウザで直接PNGファイルを処理します。 1つまたは複数のPNGファイルをドロップして、圧縮されたバージョンをすぐにダウンロード してください。アカウントは不要で、ファイルはサーバーにアップロードされません — すべての処理はローカルで行われます。
圧縮ツールはロスレス最適化を適用します: メタデータ除去、最適化されたDeflate再エンコード、 未使用チャンク除去。ほとんどのPNGグラフィックで、視覚品質の変化なしに15〜40%小さい ファイルを生成します。
コマンドラインツール
自動化されたワークフローとバッチ処理のために、コマンドラインツールは細かい制御を 提供します:
- pngquant (非可逆、50〜80%削減):
pngquant --quality=65-80 *.png
現在のディレクトリのすべてのPNGを処理します。--qualityフラグは 許容品質範囲(0〜100)を設定します。低い値はより多くの色削減でより小さなファイルを 生成します。出力ファイルはデフォルトで元のファイル名-fs8.pngと命名されます。 - oxipng (ロスレス、10〜30%削減):
oxipng -o 6 *.png-o 6フラグは最適化レベル(0〜6、6が最大圧縮)を設定します。高いレベルは より時間がかかりますが、より小さなファイルを生成します。メタデータも削除するには--strip allを使用してください。 - 両方を組み合わせる: まずpngquant(非可逆量子化)を実行し、次に oxipng(量子化された出力のロスレス再圧縮)を実行します。これにより両方の節約が 重なり、合計60〜75%削減を達成します。
PNG圧縮の決定ツリー
どの技術を使うべきか分からない場合は、この決定プロセスに従ってください:
- 画像に写真や複雑なグラデーションが含まれていますか? — はい: JPEG(透明度不要)またはWebPに変換してください。PNGは写真に適したフォーマットでは ありません。いいえ: 続けます。
- ウェブ用ですか? — はい: WebPロスレス(または最大圧縮のためにAVIF)に 変換してください。両フォーマットとも透明度をサポートし、PNGより優れた圧縮です。 いいえ: 続けます。
- 画像に透明度がありますか? — いいえ: RGBAをRGBに変換してください (写真の場合はJPEGも可能)。はい: 続けます。
- 画像が256色以上を使用していますか? — いいえ: 8ビットパレットPNGを 使用してください(pngquantによる非可逆量子化)。はい: ロスレス最適化が適用された 24ビットまたは32ビットPNGを使用してください。
- ピクセル完全な精度のために — ロスレス最適化(oxipng、pngcrush)を 使用してメタデータを除去してください。10〜30%の節約を期待してください。
ほとんどのウェブおよび共有ユースケースでは、Picovertの 無料PNG圧縮ツールから始めてください — ロスレス最適化を 自動的に処理し、数秒で結果を提供し、インストールするソフトウェアはありません。より 深い節約やフォーマット変換が必要な場合は、画像変換ツールと 上記のコマンドラインレシピをご利用ください。