画像を1枚ずつ圧縮するのは生産性の罠です。撮影から200枚を選別する写真家、Webプロジェクトの素材を用意する開発者、新商品をアップするEC担当者——いずれも1枚ずつでは毎週何時間も無駄にします。
| 方法 | 最大枚数 | 必要な準備 | プライバシー | 最適な用途 |
|---|---|---|---|---|
| ImgMin (browser) | 一度に10枚 | なし | ✓ ローカルのみ | 手早い一括、機密画像 |
| Mac Preview | 無制限 | なし(OS標準) | ✓ ローカルのみ | Macユーザー、たまの利用 |
| ImageMagick (CLI) | 無制限 | インストール必要 | ✓ ローカルのみ | 上級者、自動化 |
| Sharp (Node.js) | 無制限 | 開発環境 | ✓ ローカルのみ | 開発者、CI/CDパイプライン |
| TinyPNG API | 月500枚まで無料 | APIキー | サーバーへ送信 | 大量処理、サーバー側ワークフロー |
| iLoveIMG | 一括(無料は制限あり) | なし | サーバーへ送信 | たまの大量バッチ |
ImgMinに最大10枚を一度にドロップ。ツールはブラウザのCanvas APIですべてを同時に圧縮し、ダウンロード用にZIPファイルにまとめます。サーバーへのアップロードはゼロ——すべての処理はあなたのマシン上で行われます。
使い方:
10枚の処理は5秒未満。アカウント不要、月間制限なし、無料。
Macユーザーは、内蔵の「プレビュー」アプリを使えばソフトをインストールせずに画像を一括圧縮できます:
プレビューは選択したすべての画像を1回の操作で書き出して圧縮します。この方法で通常、見た目の差なしに50〜70%のサイズ削減が得られます。
ImageMagickは大量の画像処理におけるゴールドスタンダードです。無料・クロスプラットフォームで、1つのコマンドで数千枚を処理できます:
# Install on Mac
brew install imagemagick
# Compress all JPEGs in current folder to 80% quality
mogrify -quality 80 *.jpg
# Compress all PNGs (lossless optimization)
mogrify -strip *.png
# Batch compress + resize to max 1200px wide
mogrify -resize 1200x1200\> -quality 80 *.jpg
# Convert all PNGs to WebP
mogrify -format webp -quality 85 *.png
mogrify はファイルをその場で上書きします。必ずコピーで作業するか、単一ファイルの非破壊フローには convert input.jpg -quality 80 output-compressed.jpg を使いましょう。開発者なら、SharpはNode.jsで最速の画像処理ライブラリで、自動化パイプラインに最適な選択です:
const sharp = require('sharp');
const glob = require('glob');
const path = require('path');
// Batch compress all JPEGs in /input to /output
glob('input/*.{jpg,jpeg}', (err, files) => {
files.forEach(file => {
const output = path.join('output', path.basename(file));
sharp(file)
.jpeg({ quality: 80, mozjpeg: true })
.toFile(output);
});
});
// Batch convert PNG to WebP
glob('input/*.png', (err, files) => {
files.forEach(file => {
const output = path.join('output', path.basename(file, '.png') + '.webp');
sharp(file)
.webp({ quality: 85 })
.toFile(output);
});
});
Sharpは内部でlibvipsを使い、一括処理では通常ImageMagickより4〜5倍高速です。CMSの画像パイプラインやCI/CDワークフローに推奨です。
主に動画で知られるFFmpegは、優れた一括画像プロセッサでもあります——特にアニメーションGIFをWebPに変換するのに向きます:
# Convert all GIFs to animated WebP
for f in *.gif; do ffmpeg -i "$f" "${f%.gif}.webp"; done
# Batch resize + JPEG compress
for f in *.jpg; do
ffmpeg -i "$f" -vf scale=1200:-1 -q:v 4 "compressed/${f}"
done
Windowsユーザーにはいくつかの内蔵オプションがあります:
Webプロジェクトでは、どの画像も未最適化にならないよう、ビルド工程の一部として自動圧縮するのが最良です:
vite-plugin-imagemin や image-webpack-loader でビルド時に画像を圧縮calibreapp/image-actions ステップを追加し、PRごとに画像を自動圧縮calibreapp/image-actions を追加。PRで画像が追加・変更されるたびに自動で圧縮し、最適化版をコミットします——手作業ゼロ。最大10枚なら、ImgMinが最速の無料ブラウザ選択肢です——アップロードなし、アカウントなし、即時ZIPダウンロード。もっと大量ならImageMagick(CLI)かSharp(Node.js)を。Macユーザーはプレビュー内蔵の「選択中の画像を書き出す」機能が使えます。
できます。品質80%のJPEGまたは85%のWebPは、通常サイズで知覚できる画質差なしにサイズを50〜70%削減します。可逆PNG圧縮は画質損失ゼロで20〜30%の削減を達成します。
すべての画像をプレビューで開き、全選択(Cmd+A)、ファイル → 選択中の画像を書き出す、JPEG・80%を選びます。すべての画像を1ステップで圧縮・書き出し——追加ソフト不要。最大10枚なら、ブラウザのImgMinでもOKです。
最終更新:2026年4月。ツールの機能やAPI制限は変わることがあります——各ツールの公式ドキュメントをご確認ください。