画像圧縮

無料の画像圧縮:写真を一括で軽量化、JPG・WebP・PNG変換、長辺指定でリサイズ、ZIPで一括保存。登録不要、画像はアップロードされません。

  • 一括圧縮
  • WebP変換
  • 長辺でリサイズ
  • アップロード不要

🔒 計算はすべてブラウザ内で行われ、データがサーバーに送信されることはありません。

こんなときに使えます

  • Webサイト・ブログ:カメラやスマホの写真を 1920 ピクセルに縮小して WebP に変換すれば、ページの表示が速くなります。
  • アップロードにサイズ制限があるとき:応募フォームや役所のサイト、ネットショップの管理画面などで容量が決まっていても、先に圧縮すればアップロードできます。
  • メール・チャットアプリ:複数の写真をまとめて圧縮して ZIP にすれば、送信が速くなります。
  • スマホ・クラウドの容量節約:古い写真を一括で軽量化し、画質を保ちながら容量を減らせます。

使い方

  1. 「画像を選択」を押すか、点線の枠に画像をドラッグします。複数枚をまとめて追加でき、処理後にサムネイルと圧縮前後のサイズが表示されます。
  2. 出力形式(JPG・WebP・PNG)を選び、スライダーで品質を調整します。小さくしたい場合は「長辺の上限」にピクセル数(例:1920)を入力します。設定を変えるとすべての画像が自動で再処理されます。
  3. 各画像の「ダウンロード」で個別に保存するか、「すべてZIPでダウンロード」でまとめて保存します。「クリア」でやり直せます。

使用例

スマホで撮った4032×3024、3,500,000バイトの写真を、JPG・品質80・長辺の上限1920で出力します。サイズは縦横比を保って1920×1440に縮小されます。ブラウザのエンコード結果が420,000バイトだった場合、カードには「3.34 MB → 410.2 KB」「88%削減」と表示され、新しいファイルは元の12%になります。

120,000バイト(117.2 KB)のPNGスクリーンショットをそのままPNGで出力して156,000バイトになった場合は「117.2 KB → 152.3 KB」「元より30%増加」、WebPで48,000バイトになった場合は「117.2 KB → 46.9 KB」「60%削減」と表示されます。実際のサイズは画像の内容とブラウザによって変わります。ここでのバイト数は仮の値で、表示サイズと割合はツールの計算結果です。

3枚を一括処理:3.34 MB → 410.2 KB、117.2 KB → 152.3 KB、830.1 KB → 207.0 KB。上部の合計は「3枚:4.26 MB → 769.5 KB(82%削減)」になります。合計はすべてのバイト数を足してから比較したもので、3枚の割合の平均ではありません。

結果の見方

  • 緑の「N%削減」は新しいファイルが元よりN%小さいことを示します。赤の「元よりN%増加」は再エンコードで逆に大きくなったことを示し、すでに小さいJPGを高品質で保存し直したときや、PNGをPNGで保存したときによく起こります。その場合は元のファイルを使ってください。
  • 変化が0.5%未満の場合は「<1%」と表示されます。サイズ欄に矢印がある場合は解像度が縮小されたことを、数値が1つだけの場合は元のサイズのままであることを示します。
  • 「この形式はブラウザが対応していないため、PNGで出力しました」と出た場合、お使いのブラウザ(主に古いSafari)はWebPを出力できないため、自動的にPNGで保存され、拡張子も変わっています。
  • 1 KBは1024バイトで計算しており、Windowsのエクスプローラーと同じです。MacのFinderは1000バイトで計算するため、表示が少し異なります。

仕組みと計算方法

  • 読み込み:ブラウザ内蔵のcreateImageBitmapでデコードし、写真のEXIFの向きに合わせて回転します。デコードできない場合は<img>で読み込みます(SVGなど)。
  • 縮小:長辺が上限を超える場合、幅と高さに「上限 ÷ 長辺」を掛けて四捨五入し、短辺は最低1 pxにします。拡大はせず、canvasの高品質スムージングで縮小します。
  • エンコード:画像をcanvasに描いてcanvas.toBlob(形式, 品質)を呼び出します。品質10〜100は0.1〜1.0に対応します。JPGは透過がないため透明部分を先に白で塗り、PNGは可逆圧縮なので品質設定は使われません。
  • 比較:変化率 = |1 − 新しいサイズ ÷ 元のサイズ| × 100 を整数に四捨五入します。合計は成功したすべての画像のバイト数の合計で計算します。
  • ZIP:ブラウザ内でfflateを使って作成します。画像はすでに圧縮済みなので再圧縮せずに格納し、同じ名前のファイルには-2、-3を付けて上書きを防ぎます。

注意点と制限

  • 再エンコードによりEXIF(撮影日時、GPS位置、カメラ機種)とカラープロファイルは削除されます。これらを残す必要がある場合には向きません。広色域(Display P3)の写真はわずかに色が変わることがあります。
  • アニメーションGIFやアニメーションWebPは最初のフレームだけが残ります。HEICは対応ブラウザ(Safariなど)でのみ読み込め、それ以外では読み込めないと表示されます。
  • 圧縮結果はブラウザ内蔵のエンコーダーで決まるため、同じ設定でもChrome・Firefox・Safariでサイズや画質が異なります。「200 KB以下にする」といった目標サイズの指定はできないので、品質を調整してください。
  • 非常に大きな画像はブラウザのcanvasのサイズやメモリの制限(特にiPhoneのSafari)により出力できないことがあります。長辺の上限を入力してから再度お試しください。

よくある質問

品質はいくつに設定すればいい?

一般的な写真ならJPGかWebPで品質70〜80にすると、見た目はほぼ変わらずにファイルを大きく減らせます。印刷や加工に使う場合は90以上がおすすめです。文字の多いスクリーンショットや図表はPNGかWebPのほうが鮮明で、JPGは文字の周りにノイズが出やすくなります。

圧縮したのにファイルが大きくなったのはなぜ?

元の画像がすでに強く圧縮されている場合(低品質のJPGなど)、高い品質で再エンコードすると逆に大きくなります。PNGからPNGへの変換も、ブラウザ内蔵のPNGエンコーダーが特に最適化されていないため大きくなりがちです。品質を下げる、WebPにする、または元のファイルをそのまま使ってください。

透過PNGをJPGに変換するとどうなる?

JPGは透過に対応していないため、透明な部分は白になります。透過を残したい場合はWebPかPNGを選んでください。

画像はアップロードされますか?

いいえ。読み込み・圧縮・ZIP作成はすべてブラウザ内で行われ、画像がサーバーに送られたり保存されたりすることはありません。ページを閉じると消えます。

写真を1MB以下や200KB以下にするには?

まず「長辺の上限(px)」に 1600〜1920 を入れ、品質を 70〜80 にします。それでも大きければ、品質かサイズをさらに下げてください。画像ごとに圧縮後のサイズが表示されるので、確認しながら調整できます。

JPG と WebP はどちらを選べばいい?

WebP は同じくらいの画質なら JPG より約 25〜35% 小さくなることが多く、主要なブラウザはすべて対応しています。古いシステムや印刷、JPG しか受け付けないアップロードフォームに使う場合は JPG のほうが確実です。

圧縮後も写真の撮影情報(EXIF)は残りますか?

残りません。書き出し直すときは画像そのものだけを保存し、撮影日時や GPS の位置情報などは削除されるため、写真を共有するときに位置が漏れる心配も少なくなります。

参考資料