画質を落とさずに画像のファイルサイズを小さくする方法

画像の容量を見た目の劣化なく小さくするには、まず表示するサイズまでピクセル数を縮小し、JPG か WebP の画質約 80 % で保存します。文字のスクリーンショットは PNG のままにします。Windows のフォト、ペイント、Mac のプレビュー、ImageMagick で可能です。FileReshape の「画像を圧縮」と「画像のサイズ変更」ならブラウザー内で処理し、写真はアップロードされません。

画像のファイルサイズを決める 3 つの要素

画像を小さくする方法はどれも、3 つの要素のうち 1 つ以上を調整しています。1 つ目はピクセル数(解像度)、つまり画像の幅と高さが何ピクセルあるかです。1,200 万画素のスマートフォン写真は約 4000 × 3000 ピクセルです。縦横をそれぞれ半分の 2000 × 1500 にするとピクセル数は 4 分の 1 になり、ファイルサイズもおおよそそれに比例して小さくなります。これが圧倒的に効果の大きい方法で、ほとんどの用途では見た目に何の影響もありません。画面、メール、Web ページで、画像が 4000 ピクセル近い幅で表示されることはまずないからです。

2 つ目はファイル形式です。同じ画像でも、何が写っているかによって、JPG、PNG、WebP で必要な容量は大きく変わります。3 つ目は、JPG や WebP のような非可逆形式の画質設定で、通常は 0〜100 の数値で指定します。数値が低いほど細かいディテールが多く捨てられます。この関係は直線的ではありません。100 から 85 に下げると、見た目は変わらずにファイルが半分になることがよくありますが、60 から 40 に下げても削減量はそれほど大きくなく、ブロック状のノイズや輪郭のにじみが目立ち始めます。

メタデータもわずかに影響します。写真には撮影日時、カメラの機種、多くの場合 GPS 位置などの Exif データが含まれ、埋め込みのプレビュー画像が入っていることもあります。これを削除すると少し容量が減り、プライバシーの面でも有効ですが、それだけで 5 MB の写真が 500 KB になることはありません。

画像の種類ごとに選ぶべき形式

JPG は、写真や、なめらかなグラデーションと細かいディテールの多い画像のための形式です。古いメールソフトから役所のアップロードフォームまで、どこでも開けます。透過は保存できず、画質を下げると鋭い輪郭の周りにうっすらとにじみ(モスキートノイズ)が出ます。JPG のスクリーンショットで文字がぼやけて見えるのはこのためです。

PNG は可逆圧縮で、文字のスクリーンショット、図、ロゴ、グラフなど、ベタ塗りの色や透過のある画像に適しています。こうした画像では、同じ画質の JPG より小さくなることもよくあります。一方、写真には向いていません。写真を PNG で保存すると、適切な設定の JPG の数倍の大きさになるのが普通です。写真や写真を撮ったスクリーンショットが PNG で保存されているなら、JPG に変換するだけで最も大きく容量を減らせることが多いでしょう。

WebP は JPG のような非可逆圧縮にも、PNG のような可逆圧縮にもでき、どちらのモードでも透過に対応しています。非可逆の WebP は、同程度の見た目の JPG より、たいていはっきりと小さくなります。現在のブラウザーはすべて WebP を表示できるので Web サイトには適していますが、古いソフト、プリントショップ、アップロードフォームの中には受け付けないものもあります。迷ったら JPG で送りましょう。

「画質を落とさずに」の本当の意味

厳密な意味での可逆的な削減とは、デコードしたピクセルが以前とまったく同じであることを指します。これは可能で、メタデータを削除する、より優れたエンコーダーで PNG を再圧縮する、jpegtran などのツールで JPG の内部テーブルを書き直す、といった方法があります。効果は確かにありますが、たいていは数パーセント程度と控えめで、保存方法が悪かった PNG ではそれ以上になることもあります。JPG を保存し直すのは、たとえ画質 100 でも可逆ではありません。非可逆で保存するたびに画像はデコードされ、ディテールが少しずつ失われます。

そのため、普段の用途で「画質を落とさずに」と言う場合は、実際に表示されるサイズで見て劣化がわからない、という意味になります。幅 1600 ピクセル、JPG 画質 80 % の写真は、ノートパソコンの画面では 4000 ピクセルの元画像と同じに見えますが、サイズはその何分の一かです。印刷、トリミング、編集のために元画像は残しておき、小さなコピーは、すでに圧縮したコピーからではなく、必ず元画像から作りましょう。

Windows のフォトやペイントで画像サイズを小さくする

Windows 11 のフォトアプリには、バージョンによって「…」(その他)メニューか編集画面にサイズ変更の機能があります。プリセットのサイズとピクセル単位のカスタムサイズを選べ、既定で縦横比が維持されます。最近のバージョンでは JPG 出力用の画質スライダーも表示されます。サイズ変更したコピーが保存され、元の画像はそのまま残ります。フォトアプリは何度かの更新でメニューが変わっているため、お使いのパソコンでは少し違う場所にあるかもしれません。

ペイントはどの Windows パソコンにも入っていて、動作も予想どおりです。「ホーム」タブの「サイズ変更」を使うか Ctrl+W を押し、「ピクセル」を選んで「縦横比を維持する」にチェックを入れます。次に「ファイル」>「名前を付けて保存」でコピーを保存し、写真なら「JPEG 画像」、スクリーンショットなら「PNG 画像」を選びます。ペイントでは JPG の画質を選べないため、JPG ファイルが最小のサイズになるとは限りません。

  1. 画像をペイントで開き、Ctrl+W を押します。
  2. 「ピクセル」を選び、「縦横比を維持する」にチェックを入れたまま、1600 などの新しい幅を入力します。
  3. 「ファイル」>「名前を付けて保存」を選び、「JPEG 画像」または「PNG 画像」を選んで、別の名前で保存します。

Mac のプレビューで画像サイズを小さくする

プレビューには、ピクセル数と画質の両方を調整する機能が備わっています。「ツール」>「サイズを調整」でピクセル数を変更します。「比例して調整」と「イメージのサンプルを再作成」にチェックを入れたままにすると、適用前に変更後のサイズがダイアログに表示されます。続いて「ファイル」>「書き出す」で形式を選び、JPEG の場合は「最低」から「最高」までの画質スライダーで調整します。スライダーを動かすとファイルサイズの目安が表示されるので、アップロードの上限に合わせるのも簡単です。複数の画像をまとめて処理するには、一緒に開いてサイドバーのサムネールをすべて選択し、「サイズを調整」を全体に適用します。

  1. 画像をプレビューで開き、「ツール」>「サイズを調整」を選びます。
  2. 「比例して調整」にチェックを入れたまま、幅をピクセルで入力して「OK」をクリックします。
  3. 「ファイル」>「書き出す」を選び、JPEG を選んで画質スライダーを動かし、ファイルサイズの目安を確認してから保存します。

コマンドラインで ImageMagick を使って画像サイズを小さくする

ImageMagick は、Windows、macOS、Linux で使える無料のコマンドライン画像ツールです。バージョン 7 ではコマンドは magick で、古い環境では代わりに convert を使います。リサイズの値 1600x は幅を指定し、高さは縦横比から計算されます。> 記号を付けると(シェルではリダイレクトとして扱われるため引用符で囲みます)、それより大きい画像だけが縮小されます。-strip オプションはメタデータを削除します。

mogrify コマンドは多数のファイルを一度に処理できますが、-path オプションで出力フォルダーを指定しないと元のファイルを上書きするので、まずはコピーで試してください。すでにサイズを調整したファイルを可逆的に最適化するには、JPG なら jpegtran、PNG なら oxipng や optipng などのツールで、ピクセルを一切変えずにファイルを書き直せます。

# Resize to 1600 px wide and save as JPG at quality 80
magick in.jpg -resize 1600x -quality 80 out.jpg

# Only shrink images wider than 1600 px, and remove metadata
magick in.jpg -resize "1600x>" -strip -quality 80 out.jpg

# A whole folder, written to the folder "small" (create it first)
magick mogrify -path small -resize "1600x>" -quality 80 *.jpg

メールやアップロードフォームのサイズ上限に収める

メールサービスでは、添付ファイルの上限が 1 通あたり 20〜25 MB 程度であることが一般的です。さらに添付ファイルはテキストとしてエンコードされるため、送信時には約 3 分の 1 大きくなります。3 MB の写真 8 枚はディスク上では 24 MB ですが、エンコード後は約 32 MB になり、25 MB の上限を超えてしまいます。幅 1600 や 2000 ピクセルにリサイズすれば、たいてい 1 枚あたり 1 MB を大きく下回ります。

就職の応募、ビザ用写真、保険金請求などのアップロードフォームでは、1 MB、500 KB、ときには 100 KB といった、はるかに小さい上限が設けられていることが多く、正確なピクセルサイズまで指定されることもあります。まず不要な部分をトリミングし、フォームが求めるピクセルサイズに設定してから、ファイルが収まるまで画質を少しずつ下げていきます。形式が指定されている場合は、ほかの形式のほうが小さくなるとしても、指定どおりの形式を使ってください。

FileReshape を使ってブラウザーで画像サイズを小さくする

FileReshape の「画像を圧縮」は、JPG、PNG、WebP 画像を受け付け、JPG または WebP として保存し直します。画質は 90、80、70、60 % から選べ(おすすめは 80 %)、必要に応じて 800〜3840 ピクセルの範囲で最大幅を指定できます。それより幅の広い画像は縮小され、狭い画像はそのままです。一覧には、ファイルごとに圧縮前と圧縮後のサイズが表示されます。すでに十分に圧縮されていて、かえって大きくなってしまう画像は、元のファイルがそのまま返されます。正確なファイルサイズを狙う機能はないので、画質か最大幅を下げて、一覧で新しいサイズを確認してください。

再エンコードした画像に残るのはピクセルだけです。写真はまず正しい向きに回転され、GPS 位置、撮影日時、カメラの情報は含まれず、色は sRGB で保存されます。JPG で出力すると透明な部分は白になるため、透過を残したい場合は WebP を選んでください。WebP 出力は Chrome、Edge、Firefox で使えますが、Safari では WebP ファイルを作成できません。複数の画像は ZIP にまとめてダウンロードされます。

正確なサイズが必要な場合は、「画像のサイズ変更」を使います。幅か高さ、またはその両方をピクセルで指定するか、割合で指定でき、オフにしない限り縦横比は維持されます。両方を指定すると、画像はその枠内に収まるように調整されます。JPG は画質 92 % の JPG のまま、PNG は可逆圧縮の PNG のまま保存されます。「画像をトリミング」は不要な部分を切り取り、「PNG を JPG に変換」は写真のような PNG のスクリーンショットをずっと小さなファイルにし、「JPG を WebP に変換」は Web サイト用に写真を変換します。これらはすべてブラウザー内で動作し、画像はアップロードされません。

  1. 「画像を圧縮」を開き、JPG、PNG、WebP 画像を枠の中にドロップします。
  2. JPG か WebP、画質、そして 1920 や 1600 ピクセルなどの最大幅を選びます。
  3. 「画像を圧縮」ボタンをクリックし、圧縮前後のサイズを確認して、画像または ZIP をダウンロードします。

よくある質問

JPG の画質はどのくらいに設定するのがよいですか?

画面で見る写真なら 75〜85 が適切な範囲で、80 がよく使われる標準値です。印刷や編集に使う画像は 90 以上にし、それより下げるのは厳しいサイズ制限がある場合だけにしましょう。

リサイズすると画質は落ちますか?

ピクセルを減らすため、小さいサイズでは表現できない細かいディテールは失われます。想定したサイズで見れば、画像は同じに見えます。あとで大きく印刷したりトリミングしたりする可能性があるなら、元画像を残しておいてください。

PNG と JPG ではどちらが小さくなりますか?

写真なら、通常は JPG のほうがずっと小さくなります。文字のスクリーンショット、図、ベタ塗りのロゴなどでは、PNG のほうが小さく、くっきりしたままのことがよくあります。どちらの場合も、3 つの中ではたいてい WebP が最も小さくなります。

200 KB など、決まったサイズに縮小できますか?

試行錯誤するしかありません。まずピクセルサイズを設定し、ファイルが収まるまで画質を下げていきます。Mac のプレビューでは画質スライダーを動かすとファイルサイズの目安が表示され、FileReshape ではファイルごとに新しいサイズが表示されます。

FileReshape を使うと写真はアップロードされますか?

いいえ。「画像を圧縮」と「画像のサイズ変更」は、お使いの端末上のブラウザー内で画像をデコードして保存します。