The basic calculation

For three frames with delays of 100 ms, 200 ms, and 500 ms, the animation duration is 800 ms, or 0.8 seconds, before considering playback behavior around the loop. Frame count alone would not reveal that result.

Step-by-step

1. Extract the frames and timing

Open the GIF in the tool and inspect the frame list. Keep the order shown by the animation; delays belong to particular frames and are not always uniform.

2. Add the delays

Sum each frame's display time. For a longer animation, group the values in small batches and check the total twice. A spreadsheet or calculator can help prevent a missing frame.

3. Compare the result with playback

Play the original GIF in a browser and compare the measured duration with what you see. Some players handle very small delays differently, and a looping GIF has no final pause unless the last frame includes one.

4. Check disposal behavior

A frame may replace only part of the canvas or depend on the previous composed frame. Correct visual composition matters when you inspect the timing because a patch frame is not necessarily a complete standalone image.

Example

An animation has ten frames: eight at 80 ms and two at 400 ms. Its duration is 8 × 80 + 2 × 400 = 1,440 ms, or 1.44 seconds. The two slower frames account for more than half of the total time, so removing them would change the rhythm substantially.

Common mistakes

  • Estimating duration from frame count alone.
  • Assuming every frame has the first frame's delay.
  • Ignoring a partial-frame update or disposal method.
  • Confusing one loop's duration with the time a player displays the looping file.
  • Rounding each delay before adding the values.

For the difference between frame delays, read why GIF frame delays are not always uniform. To save the images for inspection, use the frame extraction tutorial or open the tool guide. The GIF89a specification describes the graphic control extension that carries frame timing and disposal information.