画像の容量をブラウザだけで小さくする方法。写真をどこにもアップロードせずに軽くする仕組み
メールの添付やフォームの容量制限に引っかかった写真を、オンラインの圧縮サービスにアップロードせずに軽くする方法です。JPEG、PNG、WebPがそれぞれどう小さくなるのか、形式を変えるべきときと変えなくてよいとき、スマホで撮った写真の向きの扱いまでまとめました。
申し込みフォームに写真を添付しようとしたら「ファイルサイズは5MBまで」と断られた。ブログに載せたスクショが重くて、ページの表示が遅い。画像の容量を小さくしたい場面はよくあります。
画像の圧縮を検索すると、オンラインの圧縮サービスがたくさん出てきます。多くは、画像をいったん運営側のサーバーへ送り、そこで処理して送り返す仕組みです。家族の写真や身分証の画像、仕事の資料のスクショを、見知らぬサーバーに送るのはためらわれます。
サーバーへ送らずに軽くしたいなら、当サイトの画像圧縮が向いています。画像を枠に入れると、ブラウザの中だけで圧縮し、軽くなった画像がそのままダウンロードされます。画質の設定は要りません。

画像はなぜ小さくできるのか
画像のファイルは、点(ピクセル)の色をそのまま並べているわけではありません。保存するときに、決まった方式で圧縮されています。同じ見た目の画像でも、どの方式で、どのくらい丁寧に圧縮したかで、ファイルの大きさは変わります。
スマホやカメラは、撮影した瞬間に素早く保存することを優先するので、圧縮をそこまで詰めていないことが多いです。撮影日時やカメラの機種などの付随情報(メタデータ)も一緒に保存されています。画像をいったん展開して、メタデータを取り除き、より効率のよい方式で保存し直す。これが、画像を軽くする作業の中身です。
JPEG、PNG、WebPで小さくなり方が違う
JPEGとWebPは、人の目で気付きにくい細かな色の違いを間引いて小さくする方式です。間引く度合いを「品質」と呼び、品質を下げるほど小さくなり、下げすぎると輪郭のまわりにノイズが出ます。
PNGは、情報を一切捨てない方式です。見た目はまったく変わらず、データの並べ方を工夫するだけで小さくします。そのため、写真をPNGのまま縮めても、JPEGほどは小さくなりません。文字や線が中心のスクショや、透明な部分のある画像はPNGが向いています。
WebPは、JPEGと同じ品質の見た目をより小さいファイルで表せることが多い形式です。いまの主要なブラウザは表示に対応していますが、送り先のシステムや古いソフトが対応しているとは限りません。
形式は「元のまま」で足りることが多い
画像圧縮ツールでは、出力の形式を「元のまま」「JPEG」「PNG」「WebP」から選べ、既定は「元のまま」です。
形式を変えたほうがよいのは、たとえばスマホのスクショ(PNG)に写真が大きく写っていて、JPEGにしてもかまわない場合。逆に、提出先が「JPEGで」と指定しているなら、WebPにすると受け付けてもらえないことがあります。迷ったら元のままにしておくのが無難です。
画像圧縮ツールの手順
当サイトの画像圧縮は、画像の圧縮をブラウザの中だけで行うツールです。
- 出力する形式を選ぶ(基本は「元のまま」)
- 画像を枠にドラッグ&ドロップする(スマホやタブレットなら「ファイルを選択」から、写真ライブラリやカメラの画像を選ぶ)
- 軽くなった画像が自動でダウンロードされる(2枚以上ならZIPファイルにまとめて保存される)
JPEGとWebPは品質75で、PNGは情報を捨てない最適化で保存し直します。品質の設定は画面に出していません。圧縮の処理に使っているのは、オープンソースの圧縮プログラム(JPEGはmozjpeg、WebPはlibwebp、PNGはoxipng)を、ブラウザの中で動く形にしたものです。
圧縮し直しても元より小さくならなかった画像は、元のファイルをそのまま返し、「すでに最適化済み(元のまま)」と表示します。軽くするつもりが逆に大きくなる、ということは起きません。
スマホの写真の向き
スマホで撮った写真には、撮影したときの向きがメタデータとして記録されています。メタデータを取り除くと、縦に撮った写真が横倒しで表示されることがあります。画像圧縮ツールは、記録されていた向きに合わせて画像そのものを回転させてから保存するので、メタデータを取り除いても向きは変わりません。
使えるファイルと上限
読み込める形式は、JPEG、PNG、WebP、GIFの4つ。1回に10枚まで、1枚30MBまで読み込めます。画素数が4000万を超える画像と、幅か高さが16384ピクセルを超える画像は処理できません。GIFはブラウザの中で圧縮し直せないため、そのまま返します。GIFをJPEGなどに変える場合は、アニメーションの最初の1コマだけが変換されます。
画像はサーバーに送られません。ページを一度開いたあとは、通信を切った状態(機内モード)でも動きます。