FFmpegで画像をJPG・PNG・WebP・GIFに変換する方法(2026年ガイド)
FFmpegを使ってJPG・PNG・WebP・GIFなど各画像フォーマット間で変換する完全ガイド。バッチ変換、品質設定、無料のワンクリック代替ツールも紹介。
FFmpegは動画だけでなく、画像フォーマット変換にも強力なツールです。PNGスクリーンショットをJPGに変換したり、Web用にWebPへ最適化したり、画像シーケンスからGIFを作成したりと、コマンドラインからすべて対応できます。
コマンド入力が苦手な方には、最後に無料のワンクリック解決策もご紹介します。
前提条件:FFmpegのインストール

macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
Windows:
ffmpeg.org からダウンロードして解凍し、bin をPATHに追加してください。
基本的な画像変換
PNG から JPG へ
ffmpeg -i input.png -q:v 2 output.jpg
-q:v 2— JPEG品質(1 = 最高、31 = 最低)。2〜5が推奨です。
JPG から PNG へ
ffmpeg -i input.jpg output.png
PNGはロスレスなので、品質パラメータは不要です。
PNG/JPG から WebP へ
ffmpeg -i input.png -quality 80 output.webp
-quality 80— WebP品質(0〜100)。75〜85がバランスの取れた値です。
WebP から PNG へ
ffmpeg -i input.webp output.png
WebP から JPG へ
ffmpeg -i input.webp -q:v 2 output.jpg
BMP から PNG へ
ffmpeg -i input.bmp output.png
TIFF から JPG へ
ffmpeg -i input.tiff -q:v 2 output.jpg
GIFの操作
画像シーケンスからGIFへ
連続した画像(frame001.png、frame002.png、…)をアニメーションGIFに変換:
ffmpeg -framerate 10 -i frame%03d.png -vf "scale=480:-1:flags=lanczos" output.gif
-framerate 10— 1秒あたり10フレームframe%03d.png— frame001.png、frame002.pngなどにマッチするパターンscale=480:-1— 幅を480pxにスケーリング、高さは自動flags=lanczos— 高品質なスケーリングアルゴリズム
動画からGIFへ
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" -loop 0 output.gif
GIFから画像シーケンスへ
GIFからすべてのフレームを抽出:
ffmpeg -i input.gif frame%03d.png
GIF から MP4 へ
GIFはファイルサイズが大きくなります。MP4に変換すれば90%以上のサイズ削減が可能です:
ffmpeg -i input.gif -movflags +faststart -pix_fmt yuv420p output.mp4
高度なオプション
JPEG品質の制御
ffmpeg -i input.png -q:v 5 output.jpg
-q:v | 品質 | ファイルサイズ |
|---|---|---|
| 1 | 最高 | 最大 |
| 2〜3 | 非常に良好 | 大 |
| 5 | 良好 | 中 |
| 10 | 許容範囲 | 小 |
| 31 | 最低 | 最小 |
WebP品質の制御
# ロッシーWebP
ffmpeg -i input.png -quality 85 output.webp
# ロスレスWebP
ffmpeg -i input.png -lossless 1 output.webp
画像のリサイズ
特定の幅にスケーリング(アスペクト比を維持):
ffmpeg -i input.png -vf "scale=800:-1" output.png
特定のサイズにスケーリング:
ffmpeg -i input.png -vf "scale=800:600" output.jpg
カラースペースの変更
グレースケールに変換:
ffmpeg -i input.png -vf "format=gray" output.png
バッチ変換
すべてのPNGをJPGに変換
Linux/macOS:
for f in *.png; do
ffmpeg -i "$f" -q:v 2 "${f%.png}.jpg"
done
すべてのJPGをWebPに変換
for f in *.jpg; do
ffmpeg -i "$f" -quality 80 "${f%.jpg}.webp"
done
Windows (PowerShell):
Get-ChildItem *.png | ForEach-Object {
ffmpeg -i $_.Name -q:v 2 ($_.BaseName + ".jpg")
}
よくあるエラーと解決策
「出力ファイルが空白または真っ黒」 一部のフォーマットでは明示的なピクセルフォーマットが必要です:
ffmpeg -i input.png -pix_fmt rgb24 output.jpg
「GIFの出力色が非常に悪い」 GIFは256色に制限されています。より良い品質のためにパレットを使用してください:
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png
ffmpeg -i input.mp4 -i palette.png -lavfi "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
「フォーマットを特定できない」 フォーマットを明示的に指定してください:
ffmpeg -f image2 -i input.bmp output.png
ターミナル不要:WaveSpeed Desktopを使おう
1枚の画像変換ならFFmpegでも対応できます。しかし、品質・フォーマット・サイズを制御しながら画像をバッチ処理するとなると、すぐに煩雑になります。
WaveSpeed Desktop には、これを簡単にする画像コンバーターが内蔵されています:
- 1枚または複数の画像をドラッグ&ドロップ
- 出力フォーマットを選択(JPG、PNG、WebP、GIF)
- 変換をクリック — 完了
FFmpeg不要。ターミナル不要。品質フラグを覚える必要もなし。

WaveSpeed Desktopを無料でダウンロード: https://github.com/WaveSpeedAI/wavespeed-desktop/releases
よくある質問
Web向けの最適な画像フォーマットは? WebPは圧縮率と品質のバランスが最も優れています。ブラウザの互換性が問題でなければWebPを使用してください。それ以外は、写真にはJPEG、透過を含むグラフィックにはPNGが適しています。
JPGをPNGに変換すると画質が向上しますか? いいえ。音声と同様に、JPEG圧縮で失われた情報を回復することはできません。PNGファイルは単純にサイズが大きくなるだけです。
WebPはJPEGと比べてどれくらい小さくなりますか? 同等の視覚品質で、通常25〜35%小さくなります。
FFmpegはRAWカメラファイルに対応していますか? FFmpegのRAWサポートは限定的です。RAW変換には、ImageMagickやdarktableなどの専用ツールが適しています。


