Understanding Animated GIF Frame Delay Units
This article explains the standard unit of time used to measure frame delay in animated GIF files, how that value is stored in the file's data structure, and how web browsers handle playback timing.
Frame delay in an animated GIF is measured in hundredths of a second (1/100th of a second), also known as centiseconds. One unit of frame delay equals exactly 10 milliseconds (0.01 seconds).
This timing is defined by the GIF89a specification within a data block called the Graphic Control Extension. Inside this block, the frame duration is stored as a 16-bit unsigned integer under the field labeled "Delay Time." Because the value represents hundredths of a second:
- A delay value of
10equals 10/100 of a second (100 milliseconds), yielding a playback rate of 10 frames per second (fps). - A delay value of
5equals 5/100 of a second (50 milliseconds), yielding 20 fps. - A delay value of
100equals 1 full second (1,000 milliseconds), yielding 1 fps.
Because the delay is stored as an integer, the maximum delay a single frame can have is 65,535 hundredths of a second, which is approximately 655 seconds (or just under 11 minutes).
Most modern web browsers and image viewers enforce limitations on
extremely low frame delay values. If a GIF author sets the delay to
0 or 1 (0 to 10 milliseconds) to achieve a
high frame rate, browsers will typically override this setting and clamp
the frame delay to a safer default—commonly 10 (100
milliseconds, or 10 fps)—to prevent high CPU consumption. As a result,
the practical minimum delay for smooth playback across most platforms is
2 (20 milliseconds, or 50 fps).