A GIF has no โspeedโ setting. Every frame stores its own delay: how long it stays on screen before the next frame is drawn. To speed up or slow down a GIF you change those delays.
Delays are stored in centiseconds (cs) โ hundredths of a second. 10 cs = 100 ms = 10 frames per second.
With the desktop app
- Open the GIF in GIFmeta. The frame list shows the delay of every frame.
- One frame: select it and change Delay in the viewer โ handy to hold the last frame longer.
- All frames: go to โ๏ธ Settings โ Delay for all frames, type the new value and click Apply to all frames.
- Press โถ Play โ playback uses your edited delays, so you see the new speed before saving.
- ๐พ Save writes a new file; the original stays untouched.
Changed delays are marked โ in the frame list, and the status bar shows the new total duration.
With the command line
# every frame 80 ms
gifmeta mod input.gif --delay 8 -o faster.gif
# only frame 0 โ 50 ms and frame 5 โ 2 s
gifmeta mod input.gif --delays 0=5,5=200 -o tuned.gif
# 150 ms for all, but frame 0 โ 20 ms
gifmeta mod input.gif --delay 15 --delays 0=2 -o mixed.gif
Check the result with gifmeta info output.gif --show-frames.
Why changing speed is lossless
GIFmeta only rewrites the timing field of each frame. The pixels, palettes and optimization stay exactly as they were โ no quality loss, no bigger file.
The 0 and 1 cs trap
Browsers show delays of 0 or 1 cs as 10 cs (100 ms), because very short delays used to be abused. A GIF โsped upโ to 1 cs therefore plays slower than one at 2 cs. Use 2 cs (20 ms) as the fastest delay. The desktop app warns you when a frame will play slower than you asked.
Want a smoother speed-up?
Making every frame shorter has a limit. To speed up a long GIF further, delete every other frame โ see Delete frames from a GIF. GIFmeta can merge the deleted delays into the previous frame or drop them.