3/18/2026

Create beautiful GIFs using custom palette generation for perfect colors.

How to Convert MP4 to High-Quality GIF

The secret to great GIFs is using a custom color palette.

Best Method (Two-Step)

Step 1: Generate Palette

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png

Step 2: Create GIF

ffmpeg -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

This produces much better colors than direct conversion!

One-Line Version

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif

Quality Settings

Size FPS Use Case
320px 10 Small/file
480px 12 Balanced
800px 15 High quality

Extract Clip as GIF

ffmpeg -ss 5 -t 3 -i input.mp4 -vf "fps=15,scale=400:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" clip.gif
  • -ss 5: Start at 5 seconds
  • -t 3: Duration 3 seconds

Quick Reference

# High quality
ffmpeg -i in.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" out.gif

# Small file
ffmpeg -i in.mp4 -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" out.gif

# From clip
ffmpeg -ss 10 -t 5 -i in.mp4 -vf "fps=12,scale=400:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" out.gif

Create beautiful GIFs!