2026-03-04

バッチで画像をリサイズする方法:無料ツールとスクリプトを徹底比較

無料オンラインツールやImageMagick、XnConvert、Pythonスクリプトを活用し、数百枚の画像を一度にリサイズする方法を紹介します。コマンドのコピー&ペースト手順、プリセットサイズの設定方法、実用的なワークフローを網羅的に解説します。

バッチで画像をリサイズする方法:無料ツールとスクリプトを徹底比較

Last updated: 2026年6月27日

画像を1枚リサイズするのに数秒かかります。しかし、1000枚を手作業でリサイズするのは丸一日かかるでしょう。その解決策がバッチツールです。フォルダを選択し、ターゲットサイズを設定し、一度実行すれば、元のファイルを安全に保ちながらすべての出力を新しいフォルダに書き込むことができます。本ガイドでは、ブラウザツール、デスクトップアプリ、コマンドライン、Pythonスクリプトという4つの信頼性の高い無料の方法を紹介します。コピー&ペーストで使えるコマンドも提供します。

クイックアンサー:どのバッチリサイズ方法を使うべきですか?

この作業をどれくらいの頻度で行うか、また何枚の画像があるかに応じてツールを選びましょう。

状況 使用するツール 理由
一回限り、数枚の画像、インストール不要 Imagic AI Image Resizer ブラウザベース、プリセットのソーシャルサイズあり、サインアップ不要
定期的に、一度に数百枚、ターミナル操作に慣れている場合 ImageMagick mogrify 高速、スクリプト化可能、アップロード不要
定期的に、GUIが必要、OSを問わない場合 XnConvert ビジュアルアクション、ファイル数無制限、無料
自動パイプラインまたはサーバーでの利用 Python + Pillow 完全な制御が可能、コードへの組み込みが容易

たまにしかこの作業を行わない場合は、ブラウザツールで十分です。しかし、毎週同じ種類の画像をリサイズする場合は、コマンドラインまたはスクリプトのアプローチを一つ習得し、それを再利用することをお勧めします。

実際に必要なプリセットサイズとは?

ソーシャルメディアやストアフロントのプラットフォームは推奨寸法を公開していますが、これらは時間とともに変化します。各プラットフォームのメディアページで現在の数値を検証することが重要ですが、以下が一般的に使用されるデフォルト値です。

ターゲット 寸法 (px) アスペクト比 一般的な用途
Instagram正方形投稿 1080 × 1080 1:1 フィード投稿
Instagramストーリー / リールカバー 1080 × 1920 9:16 ストーリー、縦型動画
Facebook / LinkedInリンクプレビュー 1200 × 630 ~1.91:1 共有リンクカード
Twitter / X投稿画像 1200 × 675 16:9 フィード内の画像
YouTubeサムネイル 1280 × 720 16:9 動画カバー
EC商品(正方形) 1000–2000 sq 1:1 マーケットプレイスのメイン画像
ウェブサイトヒーロー 1920 wide 可変 フル幅バナー

プラットフォーム全体の参照については、social media image sizes guide をご覧ください。圧縮を行う前に必ず表示サイズにリサイズすることが重要です。これは、いかなる品質設定よりも多くのバイトを節約できます。

方法1:ブラウザバッチツール(インストール不要)

数枚程度の画像で手軽な作業を行う場合は、Image Resizer を使用してください。

  1. 画像をドラッグ&ドロップするか、複数のファイルを選択します。
  2. プリセットサイズを選ぶか、カスタム寸法を入力します。
  3. アスペクト比を維持するか(推奨)、正確な寸法を強制するかを選択します。
  4. 実行後、結果をダウンロードします。

ソフトウェアのインストールやスクリプトの記述が過剰な一回限りのタスクに最適です。数十枚から数百枚の画像の場合は、デスクトップまたはコマンドラインの方法に切り替えるべきです。ブラウザツールは作業量に応じて制限があり、タブを占有してしまう可能性があります。

方法2:ImageMagickによるコマンドラインでの実行

ImageMagick は無料であり、クロスプラットフォーム対応で、数千枚の画像をリサイズするための最も速い方法です。一度インストールすれば、同じコマンドを永遠に再利用できます。

## macOS
brew install imagemagick
## Windows (Chocolatey)
choco install imagemagick

重要なコマンドは mogrify です。これはインプレース(元のファイルを直接上書き)で動作するため、必ず出力フォルダを指定してください。

## すべてのJPGを1920px幅にリサイズ(高さは自動、アスペクト比維持)
mogrify -path resized -resize 1920x *.jpg

## 元サイズの50%にリサイズ
mogrify -path resized -resize 50% *.jpg

## 正確な1920x1080を強制(歪む可能性があるため、固定のボックスが必要な場合以外は避ける)
mogrify -path resized -resize 1920x1080! *.jpg

mogrify は画像ごとにシングルスレッドで実行されますが、xargs を使って並列化できます。

mkdir -p resized
ls *.jpg | xargs -P 4 -I {} convert {} -resize 1920x resized/{}

現代のラップトップでは、この方法を使えば典型的な写真1000枚が1分を大幅に下回る時間で完了します。オプションの全リストについては、ImageMagick resize docs を参照してください。

方法3:XnConvert(ビジュアルデスクトップアプリ)

XnConvert は、Windows、macOS、Linux向けの無料GUIバッチプロセッサです。コードを書かずにアクションを連鎖させたい人(リサイズ→圧縮→名前変更など)に適しています。

手順:

  1. ファイルまたはフォルダを追加します(枚数制限なし)。
  2. Resize アクションを追加します — ピクセル、パーセンテージ、または最長辺による指定が可能です。
  3. 必要に応じて他のアクションを追加します(圧縮、形式変換、名前変更など)。
  4. 出力フォルダとフォーマットを設定します。
  5. 実行します。

このツールはアクションスタックを記録するため、再度の作業はワンクリックで完了します。ブラウザツールとスクリプトの中間的な良い選択肢です。

方法4:Pythonスクリプト(完全な制御)

ビルドステップやサーバー用途の場合、Pillow を使った Python は、トータルコントロールが可能であり、アップロードも不要です。このスクリプトは、フォルダ内のすべての画像をターゲット幅にリサイズし、アスペクト比を維持します。

from pathlib import Path
from PIL import Image

input_dir = Path("images")
output_dir = Path("resized")
output_dir.mkdir(exist_ok=True)
target_width = 1920

for img_path in input_dir.glob("*"):
    if img_path.suffix.lower() not in (".jpg", ".jpeg", ".png", ".webp"):
        continue
    with Image.open(img_path) as img:
        ratio = target_width / img.width
        # アップスケーリングはスキップ — ダウンサイズのみ行う
        if ratio >= 1:
            img.save(output_dir / img_path.name)
            continue
        new_height = int(img.height * ratio)
        resized = img.resize((target_width, new_height), Image.LANCZOS)
        resized.save(output_dir / img_path.name)

本番環境で留意すべき点:

  • ダウンサイズ品質には Image.LANCZOS(または新しい Pillow では Image.Resampling.LANCZOS)を使用してください。
  • アップスケーリングによるぼけを防ぐため、ターゲットより小さい画像はスキップします。
  • 大量のフォルダを処理する場合は、concurrent.futures で並列化を行います。

各一般的なユースケースでのリサイズ方法

ユースケース ターゲット 追加のステップ
EC商品写真 1000–2000px正方形 白背景を追加 + キャンバス中央配置
ソーシャルメディア投稿 プラットフォームプリセット(上記の表) マスター画像からプラットフォームごとにエクスポート
ウェブサイトギャラリー サムネイル 300–400px + フル 1600–1920px 各オリジナルから両方のサイズを生成する
メール用画像 ≤800px幅、<1 MB リサイズと品質圧縮の組み合わせを行う

ImageMagickを使ったEC正方形画像の例 — リサイズ後、白背景でパディングして正方形にする:

mogrify -path out -resize 1000x1000 -background white -gravity center -extent 1000x1000 *.jpg

ベストプラクティス

  • 必ず別の出力フォルダに書き出すこと。 -path なしで mogrify をインプレースで行うことは絶対に避けてください — 元のファイルは不可逆的に上書きされます。
  • アスペクト比を維持すること。 -resize WIDTHx (高さ自動) を使用してください。 WIDTHxHEIGHT! の強制は画像を歪ませます。
  • まず1枚の画像でテストすること。 単一ファイルを実行し、確認してから残りをバッチ処理します。
  • ダウンサイズのみを行うこと。 アップスケーリングはディテールを追加しないため、ぼやけて見えます。ターゲットより小さいファイルはスキップしてください。
  • 圧縮する前にリサイズすること。 4000pxの画像を適切に圧縮しても、ダウンロードされるのは依然として4000pxです。Image Compressor でリサイズ後に組み合わせましょう。
  • マスターファイルを保持すること。 フル解像度のオリジナルは別個に保存し、そこからいつでもサイズを再導出できるようにしておきましょう。

表示サイズへのリサイズこそが最大のバイト節約になります — いかなる圧縮設定よりも効果的です。実際の写真1枚で比較すると:

Same photo at 3648px (1.35 MB), 1920px (390 KB, -71%), and 800px (70 KB, -95%), showing how resizing down cuts bytes

Bar chart of the measured sizes: 3648px 1.35 MB, 1920px 390 KB, 800px 70 KB — resize alone removes most of the bytes

3648pxのオリジナルがページ上で800pxで表示される場合、必要なデータ量よりも約19倍多くダウンロードされます。これはいかなる品質設定でも回復できず、表示サイズへのリサイズのみが可能です。

よくある問題

症状 考えられる原因 対処法
出力がぼやけて見える アップスケーリングを行った ターゲット幅以下または同等のファイルはスキップする
画像が引き伸ばされている 正確な寸法を強制した ! を削除し、-resize WIDTHx を使用する
ファイルサイズが大きいまま リサイズしたが圧縮していない リサイズ後に圧縮/品質設定のステップを追加する
一部のファイルでエラーが発生する サポートされていない形式または入力が破損している ログを記録してスキップします。形式がサポートされているか確認してください
オリジナルが上書きされた -path なしで mogrify を実行した 必ず -path out を使用し、バックアップから復元する

関連ガイド

よくある質問

ブラウザのバッチリサイザーは何枚まで処理できますか?

ブラウザのタブがメモリを大量に消費する前に、実行あたり約50〜200ファイル程度です。より大規模なカタログの場合、batch processing guide が指摘するように、ImageMagick mogrify のようなコマンドラインツールはメモリ制限なしで数千枚を処理できます。

バッチリサイズは品質を低下させますか?

アップスケールしたり、不適切な再サンプリングフィルターを選択した場合のみです。Lanczosによるダウンサイズはディテールを保持します。損失はリサイズではなく再圧縮から生じます。常に新しいフォルダに書き出し、オリジナルを保持することで、あらゆるサイズの再エクスポートが可能になります。

圧縮する前と後、どちらでリサイズすべきですか?

まずリサイズしてください。ピクセル数を減らすことが最大のバイト節約であり、フル解像度の画像を圧縮しても、誰も見ないピクセルに対して労力を無駄にすることになります。batch processing guide には完全なパイプラインの順序が記載されています。

Close-up view of Python code on a computer screen, reflecting software development and programming.

画像クレジット

  • カバー — Colorful code on a screen, photo by Nemuel Sereti on Pexels (WebPに変換済み)。
  • リサイズ比較とバイト節約チャート — 著者が風景写真(Pexels #1287145, photo by eberhard grossgasteiger) から生成し、リサイズ後の実際の測定ファイルサイズを示しています。

ガイドを読みながら無料ツールをお使いください。

ソーシャルメディアのワークフローに最適な画像リサイザー のカバー画像

Tue Mar 03 2026 19:00:00 GMT-0500 (北美东部标准时间)

ソーシャルメディアのワークフローに最適な画像リサイザー

適切な比率でのソーシャルメディア画像のサイズ変更はもちろん、安全領域のクロッピング、最適なエクスポートサイズや圧縮設定を適用し、各プラットフォームに対応した再現性の高いワークフローを実現します。