Download macOS app by Sindre Sorhus from the Mac App Store (source code)
Please note the GUI is only for macOS. There is no GUI for Windows. If you double-click gifski.exe, nothing will happen, and that's expected, because the Windows version is for command line only.
For Windows and Debian download the latest CLI version.
You can also get it with
cargo install gifski if you have Rust installed.
The CLI version must be run from a command line (terminal).
gifski --fps 10 --width 320 -o anim.gif video.mp4
The above example converts "video.mp4" file to GIF (replace the path with your video's actual path. Most terminals allow you to drag'n'drop the file!), with max resolution of 320 pixels and 10 frames per second. If you get erros about command not found, use full absolute path to gifski(.exe).
You may need ffmpeg to convert video to PNG frames first. In your favourite command line/terminal, run:
ffmpeg -i video.mp4 frame%04d.png
This command takes a file named "video.mp4" and makes files "frame0001.png", "frame0002.png", "frame0003.png", etc. from it (
%04d makes the frame number. Windows may need
%%04d). You can usually drag'n'drop files into the terminal window to avoid typing the paths.
and then make the GIF from the frames:
gifski -o file.gif frame*.png
This command makes file "file.gif" from PNG files with names starting with "frame" (
* stands for frame numbers). It's equivalent of
gifski -o file.gif frame0001.png frame0002.png frame0003.png, etc.
gifski -h for more options. The conversion might be a bit slow, because it takes a lot of effort to nicely massage these pixels. Also, you should suffer waiting like the poor users who will be downloading these huge files.
Large file sizes
Gifski maximizes quality at cost of file size, so it is expected that the GIF files will be massive. If you need smaller files:
- Use smaller pixel dimensions of the animation, e.g.
--width 320 on the command line. This helps the most!
- Use lower framerate. When converting from video, use lower fps, e.g.
--fps 10. This helps a lot too.
- Use lower quality, e.g.
--quality 70. This may help for movie-like content, but may not do anything for screencast content.