Skip to content

Gifski

Turns video into GIFs that do not look like GIFs — thousands of colours instead of 256.

Homebrew formula Mac App Store

What it does

The GIF format allows 256 colours per frame. Every naive encoder picks one palette for the whole animation, which is where the banding and the muddy gradients come from. Gifski runs pngquant per frame, so each frame gets its own palette, and dithers across frames so the result stays temporally stable rather than shimmering.

The cost is time and file size — it is slower than ffmpeg and the output is usually larger, because it is spending those bytes on colour.

# from a video, 20fps, 800px wide
gifski -o out.gif --fps 20 --width 800 in.mp4

# from a sequence of frames
gifski -o out.gif --fps 20 frame_*.png

# smaller, at some quality cost
gifski -o out.gif --fps 15 --width 640 --quality 80 in.mp4

Notes

  • The Homebrew formula depends on ffmpeg, which is what gives it video input. The App Store app is the same encoder with a drag-and-drop window.
  • --width matters more than --quality for file size: halving the dimensions quarters the pixel count.
  • For a screen recording that is mostly flat UI, ffmpeg with palettegen is usually good enough and much faster. Gifski earns its time on real video — gradients, skin tones, motion.

Alternative to

AlternativeTypeTrade-off
ffmpeg with palettegenOpen sourceOne palette for the whole clip, far faster, smaller files
GIF Maker, GIF EditorFreeA GUI with trimming and editing, ordinary output quality
CleanShot XPaidRecords straight to GIF, no separate conversion step
ezgif.comFreeNo install, fine for one-off edits
An mp4 or WebM—Better quality at a fraction of the size, wherever a video tag is allowed

Install

brew install gifski

Links

This post is licensed under CC BY 4.0 by the author.
Last updated on