候補、類似度の基準、生き残った最小のファイル
各段階には開始画質と基準値があります。最小は0.60 / 0.93、バランスは0.80 / 0.965、高画質は0.92 / 0.985です。自動形式はブラウザがエンコードできるすべての形式(ChromiumではPNG・JPG・WebP)を試しますが、透明なピクセルが1つでもあればJPGを外し、透過が知らないうちに消えないようにしています。
候補はすべて展開し直して元画像と比べます。長辺が最大512pxのコピーで明るさの8 × 8 SSIMを黒背景と白背景の上でそれぞれ計算し、悪いほうの点数を使うので、透明部分の下に隠れた色が点数をごまかせません。基準を超える非可逆候補のうち最小のものが選ばれ、手を加えていない元ファイルとPNGの再エンコードも一緒に競います。どうしても基準に届かない粒子の粗い写真は、最高点から0.01以内の候補のうち最小のものになります。
結果が入れたファイルより大きくなることはありません。すべての候補のほうが大きければ元のファイルを返し、「すでに十分小さいため元のままです」と表示します。
- SSIMの基準
- 選んだ段階で候補が超えるべき最低の類似度(0.93、0.965、0.985)。
- 候補
- 実際に1回エンコードした結果(形式 + 画質)。展開し直して採点します。
- 自動形式
- このブラウザがエンコードできるすべての形式。透過のある画像ではJPGを使いません。
1枚の写真の2つの版に3段階を適用(実測)
圧縮タスクと同じ設定のNerulioの圧縮、Chromium 153、2026-09-28。PNGはリポジトリのNASAのテスト写真、JPGは同じ写真をPillowの画質75で保存したものです。
astronaut.png 512 x 512 791,555 バイト
最小 WebP q0.60 22,048 バイト SSIM 0.9626 (基準 0.93)
バランス WebP q0.80 32,200 バイト SSIM 0.9749 (基準 0.965)
高画質 WebP q0.92 59,824 バイト SSIM 0.9883 (基準 0.985)
astronaut-q75.jpg 512 x 512 40,240 バイト
バランス WebP q0.80 31,538 バイト SSIM 0.9834
高画質 元のまま(基準を超えたJPG q0.92は51,005 バイト)
高画質では0.985を超えた候補がどれも元のファイルより大きかったため、JPGがそのまま返りました。すでに圧縮済みの写真ではこれが想定どおりの結果です。
設定ごとの動作
| 設定 | エンコーダーの動作 | 選ばれる結果 |
|---|
| 最小 | JPG・WebPの画質0.60 | SSIM ≥ 0.93の最小の候補 |
|---|
| バランス(初期値) | 画質0.80 | SSIM ≥ 0.965の最小の候補 |
|---|
| 高画質 | 画質0.92 | SSIM ≥ 0.985の最小の候補 |
|---|
| 目標サイズを指定(詳細) | 収まるまで画質を下げて探索 | 目標以下でSSIMが最も高い候補 |
|---|
| 最大幅を指定(詳細) | 先にサイズ変更(Pica、mks2013) | 新しい幅で上と同じ |
|---|
結果の確認
- 各ファイルの下の行を読みます。例:「773 KB → 31 KB · 解像度 512×512 を維持」。容量は1,024バイト単位のKBです。
- 結果を100%で開き、劣化が先に出る顔・文字・なめらかなグラデーションを確認します。
- 拡張子(
-min.webp、-min.jpg、-min.png)が提出先の受け付ける形式か確認します。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|
| 結果がWebPなのにサイトはJPGしか受け付けない | 自動は基準を超える最小の候補を残し、WebPになることが多い | ファイル名が -min.webp で終わる | 詳細 → 保存形式 → JPG |
|---|
| 「すでに十分小さいため元のままです」 | 基準を超える候補の中に元より小さいものがなかった | ファイルの作られ方と段階を見比べる | 最小を選ぶか、目標サイズを指定します |
|---|
| 粗い写真が最小でも大きい | 基準に届かず、最高点に近い候補が使われた | すべての候補のSSIMが基準を下回る | 目標サイズか最大幅を指定します |
|---|
| 大きなスクリーンショットの小さな文字がぼやけた | 最大512pxのコピーで採点するため、細かな劣化を見逃すことがある | 文字を100%で拡大 | スクリーンショットは高画質かPNG出力にします |
|---|
| 透過PNGがJPGにならない | 透明なピクセルがあると自動からJPGを外す | — | JPGを明示的に選びます。透明部分はJPGの背景色になります |
|---|
ほかの方法
| 方法 | こんなときに向いています |
|---|
| 容量別ページ(20KB〜1MB) | フォームやサイトがファイルサイズの上限を決めている場合。 |
|---|
| 先にサイズ変更 | 表示される大きさよりピクセルがずっと多い場合。ピクセルを減らすほうがどんな画質設定より効きます。 |
|---|
| 形式の変換 | 自動の選択なしに、特定の形式と画質が必要な場合。 |
|---|
この方法の限界
- 点数は長辺最大512pxのコピーで計算するため、大きな画像の細かな部分は点数を下げずに劣化することがあります。
- エンコーダーはブラウザのものなので、別のブラウザでは容量が変わることがあります。EXIFは書き込まず、アニメーションファイルは拒否します。
バージョンと出典
すべての容量と点数は、2026-09-28にPlaywright Chromium 153で src/task/compress.js が渡す設定(段階ごとの画質と基準、original = 入れたファイル)のまま src/compression.js を呼び出し、tests/fixtures/astronaut.png、それをPillow 12.3の画質75で保存したJPG、tests/fixtures/texture/bricks_Color.png で計測しました。
参照した公式ドキュメント
画像を圧縮
目標容量を設定し、実際の結果を確認。
使い方
- 元ファイルを開く
- 処理方式と設定を選ぶ
- 実行して結果を確認し保存
対応形式
PNG / JPG / WebP / AVIF / HEIC → PNG / JPG / WebP — 読み込み・書き出しはブラウザの対応状況によります。 アニメーション入力は非対応です。静止フレームを選択してください。
このツールでできること
Autoが実際のコーデック出力の標本品質を比較し目標容量を探索します。透過を考慮し、任意でサイズを縮小。
処理方式と検証状況
advanced · browser codecs / proxy SSIM candidate search. 品質検証中です。Pro・Flagship水準はまだ実証されていません。
書き出す前に
端末のメモリ・保存容量・コーデック対応によります。テスト例はすべてのファイルの動作保証ではありません。
よくある質問
対応サイズは何で決まりますか?
端末のメモリ・保存容量・コーデック対応によります。テスト例はすべてのファイルの動作保証ではありません。
ファイルはアップロードされますか?
このツールで開いたファイルはアップロードせず端末で処理します。コミュニティの投稿に明示的に添付する画像は別途アップロードされます。一部のエンジンやモデルは外部から取得するため、IPアドレスなどの接続情報は配信元に伝わります。
作業は自動保存されますか?
いいえ。画像と編集状態はこのタブに保持され、メディア出力は端末の一時保存を利用する場合があります。言語を変えても作業は残りますが、再読み込み、タブを閉じる操作、別のページへの移動で失われることがあります。