TinyPNG と Squoosh の代替ツールを、正直に比較する
3つのツール、3つの異なる仕事。それぞれの得意分野、実際の違い、そして tinyimg にまだできないこと。
3つのツール、3つの異なる仕事
TinyPNG の代替、Squoosh の代替、あるいは「画像 圧縮 ブラウザ」といった検索結果は、3つの異なる仕事を混ぜてしまいます。1枚をうまく圧縮すること、フォルダ内の画像をまとめて圧縮すること、そして圧縮をビルドや CMS の内部に組み込むことです。多くの「TinyPNG 比較」ページは、誰も聞いていない問い——どちらが優れているか——に答えています。このページは、目の前の仕事にどちらが合うかを書きます。
3つとも広義のブラウザ画像圧縮に属するか、その隣にあります。互換性はなく、重要な違いはたいてい機能表には載っていません。
TinyPNG が得意なこと
TinyPNG は成熟しています。長年にわたり画像を圧縮しており、結果は安定していて、圧縮率も高い。スマートな非可逆圧縮により、同じ見た目なら素朴な再エンコードより小さいファイルになるのが普通です。
さらに大きな強みは統合です。API があり、WordPress を含む主要 CMS 向けプラグインがあり、ビルドツールにも組み込めます。すでにある流れ——サイトのアップロード、CI のアセット処理、デザインのワークフロー——の中で圧縮したいなら、導入の手間が最も少ないのが TinyPNG で、多くのチームにとってそれが決め手になります。
これは批判ではなく事実です。TinyPNG は自社サーバーで画像を処理するため、ファイルはアップロードされます。そのことが API とプラグインを可能にしています。画像を端末の外に出してよいなら、この交換は多くの場合問題ありません。
Squoosh が得意なこと
Squoosh は Google のオープンソース画像ツールです。ブラウザで動くのでファイルは端末に残り、一括ツールが苦手なこと——1枚をじっくり見る——が得意です。形式を並べて比較し、品質スライダーを動かして容量とノイズの変化を見て、サイズを変え、多くのツールが隠しているエンコーダー設定まで調整できます。
ある写真で AVIF と WebP のどちらにするかを決めるなら、あるいは品質設定が実際に何を犠牲にするか見たいなら、Squoosh のほうが適した道具です。オープンソースでもあり、背後にあるコーデックは多くのツール(このサイトを含む)と同じ系統です。
量をさばくための設計ではありません。Squoosh は1枚ずつを中心に作られており、300ファイルを前にすれば形の合わない道具です。設定をどういじってもそれは変わりません。
いちばん確認しやすい違い
多くの人が最も気にする軸——ファイルが端末の外に出るか——では、Squoosh と tinyimg は同じ側にいます。どちらもブラウザ内で圧縮します。TinyPNG は設計上、反対側です。この2つのローカルツールを一括りにするのをよく見ますが、この軸では確かに一致しています。ただし作られた仕事は違います。
tinyimg の主張は狭く、検証できます。アップロードせずに画像を圧縮する、ということです。ページを開き、ネットワークを切り、ファイルを落とす。それでも圧縮できます。コーデックはすでにブラウザ内にある WebAssembly モジュールで、処理はローカルの worker で行われるからです。1分で確認できる、という点が要点です。
2つ目の違いは一括処理です。tinyimg はファイルではなくフォルダのために作られています。キュー、マシンのコア数に合わせた worker プール、ファイルごとの圧縮前後の容量、最後に1つの zip。Squoosh は意図的にこれをやりません。TinyPNG はアップローダーと API で実現しています。
| TinyPNG | Squoosh | tinyimg | |
|---|---|---|---|
| 動作する場所 | 先方のサーバー | あなたのブラウザ | あなたのブラウザ |
| 最も得意なこと | 統合、API、成熟した圧縮 | 1枚の比較、形式実験、調整 | アップロードなしの一括圧縮 |
| 一括処理 | あり(アップローダーと API) | なし(1枚ずつ) | あり(キューと zip) |
| API | あり | なし | なし |
| 画像ごとの調整 | 限定的 | 豊富 | なし |
| WordPress プラグイン | あり | なし | まだなし |
| 実績 | 長い | 長い(オープンソース) | 短い |
tinyimg にないもの
比較ページがたいてい省く部分です。そして省くことこそが、こうしたページを宣伝文句に見せます。
- API がありません。呼び出せるエンドポイントはありません。サーバーのジョブや CI のステップで圧縮が必要なら、tinyimg にはできません。
- WordPress プラグインはまだありません。Figma プラグインはありますが、WordPress プラグインはありません。CMS プラグインが要件なら、今日の答えは TinyPNG です。
- 画像ごとの調整 UI がありません。出力形式は選べますが、画像ごとの品質スライダーや生のエンコーダー設定はありません。tinyimg が設定を選び、妥当な結果を目指します。細かく調整したいなら Squoosh のほうが上です。
- 実績が短い。TinyPNG と Squoosh には何年分もの奇妙なファイルが積み重なっています。tinyimg は新しく利用者も少ないため、投げ込まれた変な境界ケースも少ない。これは脚注ではなく、実際のリスクとして扱ってください。
- サーバー側の選択肢が一切ありません。プライバシーの設計は制約でもあります。ブラウザを閉じれば何も動きません。
私たち自身の数値と、それが語らないこと
tinyimg の実測は /benchmarks で公開しています。10のフィクスチャ、各5回、1台のマシン(Apple M4、headless Chrome 155)、サイトが出荷するのと同じ worker 経路です。12 MP の写真では、JPEG が 4.92 MB から 444.4 KB(8.8%)、中央値 677 ms。WebP は 325.2 KB で 997.5 ms。AVIF は 121.8 KB(2.4%)で 1,983.2 ms。1.36 MB の PNG スクリーンショットは可逆で 600.6 KB、613 ms。同じ画像を WebP にすると 21.0 KB、151 ms でした。
これは1台のマシンでの tinyimg の数値であり、比較ではありません。TinyPNG と Squoosh は測定していません。このフィクスチャで両者がどうなるかは分かりませんし、分かったふりは不誠実です。TinyPNG のエンコーダーは成熟しており、画像によってはより小さいファイルを作れるでしょう。Squoosh の制御項目は固定設定を上回ることがあります。判断が重要なら、自分の画像を3つすべてに通して出力を比べてください。
選び方
- 既存システム内で圧縮、アップロード可:TinyPNG。API とプラグインがその機能です。
- 1枚、形式の実験、画像ごとの制御:Squoosh。ここにあるもので代わりにはなりません。
- フォルダ単位、アップロードなし、設定を考えたくない:tinyimg。
正直な結論はこれだけです。tinyimg は1つの仕事におけるこれらの代替であり、すべてにおける代替品ではなく、どちらとも提携していません。TinyPNG は Tinify の製品、Squoosh は Google のオープンソースプロジェクトで、名称と商標はそれぞれの所有者に帰属します。