🗑️

Delete frames from a GIF

Remove frames from an animated GIF — even a frame-optimized one — without glitches. Dependent frames are rebuilt automatically.

Updated 2026-10-26T00:00:00.000Z

Removing a frame sounds simple, but in most GIFs found online it isn’t. They are frame-optimized: a frame often only stores the pixels that changed since the frame before. Delete a frame and the next ones are drawn on top of the wrong picture — you get smears, ghosting and broken loops.

GIFmeta checks every remaining frame against the original. Frames that don’t depend on the deleted one are copied as they are (lossless). Frames that did depend on it are rewritten as full images that look exactly like before. How frame-optimized GIFs work →

With the desktop app

  1. Open the GIF. Frames marked Δ depend on earlier frames; 🔑 frames are full images.
  2. Select a frame and press ⌫ (or toggle 🗑️ Delete frame). It is dimmed and struck through — press ⌫ again to bring it back.
  3. Press ▶ Play: playback already skips deleted frames, so you see the result before saving.
  4. 💾 Save. The report tells you how many frames were deleted and which were rebuilt.

Where does the time go? By default the delay of a deleted frame is added to the previous frame, so the animation keeps its length. To make it shorter instead, choose Drop under ⚙️ Settings → Delay of deleted frames.

With the command line

# delete frames 2 and 5 (0-based)
gifmeta mod input.gif --delete 2,5 -o output.gif

# make the animation shorter instead of moving the delay
gifmeta mod input.gif --delete 2,5 --delete-mode drop -o shorter.gif

Frame numbers always refer to the original GIF — gifmeta info input.gif --show-frames lists them.

Speed up a GIF by dropping frames

Delete every other frame and drop their delays for a smooth 2× speed-up of long GIFs:

gifmeta mod input.gif --delete 1,3,5,7,9 --delete-mode drop -o faster.gif

Replace a frame instead?

Insert an image before the frame and delete the frame — see Add an image or frame to a GIF.