videotogif.ai

Reference

GIF frame rate

GIF does not store a frame rate. It stores a delay per frame in centiseconds, so only rates that divide cleanly into 100 come out exactly as asked. Ask for 30fps and you get 33.3 or 25, depending on which way the encoder rounded.

The one fact that explains everything else

Inside a GIF, each frame is preceded by a graphic control extension block. That block holds a 16 bit delay value measured in hundredths of a second. There is no frame rate field anywhere in the specification, and no requirement that frames share a delay.

So when you ask a converter for 24fps, it does not store 24. It computes 100 divided by 24, gets 4.17, rounds it to 4, and writes 4 into every frame. Four centiseconds per frame is 25fps. Your 24fps GIF is a 25fps GIF, and it always was, in every tool. This is not a rounding bug in one converter, it is the format.

Frame rate to delay to actual playback

You ask forDelay writtenIt plays atExact
5 fps20 cs5 fpsYes
8 fps13 cs7.69 fpsNo
10 fps10 cs10 fpsYes
12 fps8 cs12.5 fpsNo
15 fps7 cs14.29 fpsNo
20 fps5 cs20 fpsYes
24 fps4 cs25 fpsNo
25 fps4 cs25 fpsYes
30 fps3 cs33.33 fpsNo
33 fps3 cs33.33 fpsNo
50 fps2 cs50 fpsYes
60 fps2 cs50 fpsNo
100 fps10 cs10 fpsNo, clamped by the browser

Generated from the same delay maths the converter uses, so the table cannot drift away from what the tool actually writes.

Five rates survive the round trip untouched: 5, 10, 20, 25 and 50. Everything else is an approximation. The practical takeaway is that if two GIFs need to stay in sync, or if you are matching a video, pick one of those five.

The sub 2cs clamp

There is a second rule that catches people out. A delay of 0 or 1 centiseconds is treated as invalid by browsers and substituted with 10cs. The history is that early GIF authoring tools wrote 0 meaning as fast as the machine allows, which produced unwatchable strobing, so browsers standardised on overriding it.

The consequence is that anything above 50fps is not just approximate, it is actively counterproductive. A GIF encoded at 100fps writes a 1cs delay, gets clamped to 10cs, and plays at 10fps while carrying ten times the frames it needs. If a GIF you did not make plays far slower than it should, this is usually why.

Read the real frame rate out of a GIF

This reads the delay bytes directly from the file in your browser. It does not decode a single pixel and nothing is uploaded, so the answer is instant even on a large GIF.

Find a GIF's real frame rate

Drop a GIF in. It is read in your browser and the delays are printed below.

GIF only . nothing is uploaded

Picking a frame rate on purpose

What is in the clipUseWhy
Screen recording, UI walkthrough10 fpsExact, and a cursor does not need smoothing
Talking head, presentation10 to 12 fpsFaces read fine at low rates when the frame is static
General footage15 fpsThe usual default, lands at 14.3 in practice
Sport, action, fast pans20 or 25 fpsBoth exact, and motion holds together
Anything above 25 fpsReconsiderBytes go up, timing accuracy goes down, WebP does it better

The frame rate slider on the video to gif converter shows the resulting delay and the true playback rate as you move it, so you can see this happening rather than discovering it afterwards. If a finished GIF is too big, frame dropping in the GIF compressor is the same lever applied after the fact.

Frame rate questions

What frame rate does a GIF actually have?

None, in the way a video does. The GIF format has no frame rate field. Each frame carries its own delay, written in centiseconds, which is hundredths of a second. A GIF where every frame says 10 is playing at 10fps. A GIF with mixed delays has no single frame rate at all, which is why some tools report a different number from others.

Why is 30fps not possible in a GIF?

Because 100 divided by 30 is 3.33, and the delay field only holds whole centiseconds. An encoder has to round to 3, which plays at 33.3fps, or to 4, which plays at 25fps. Neither is 30. Only rates that divide cleanly into 100 come out exact: 50, 25, 20, 10, 5, 4, 2 and 1.

What is the best frame rate for a GIF?

10 to 15fps for screen recordings and talking heads, 20 to 25fps for fast motion. Since 15 is not exactly representable and lands at about 14.3, and 20 and 25 are exact, there is a small argument for preferring 20 or 25 when the extra bytes are affordable. For most GIFs the difference is not visible.

Why does my 100fps GIF play so slowly?

Because browsers refuse to honour it. A delay of 1cs or 0cs is treated as broken, a hangover from the early web where files used 0 to mean as fast as possible, and browsers substitute 10cs. So a GIF asking for 100fps plays at 10fps in Chrome, Firefox and Safari. Anything faster than 50fps is wasted bytes.

How do I find the frame rate of a GIF I already have?

Drop it into the reader on this page. It parses the graphic control blocks in your browser, lists every distinct delay value it finds, and tells you the average playback rate. Nothing is uploaded and the answer appears immediately.

Does a higher frame rate make a bigger file?

Directly. Frames are the unit GIF stores, so 25fps is roughly two and a half times the size of 10fps for the same clip. Dropping the frame rate is the second most effective size control after shortening the clip, which is why frame dropping is one of the methods in the compressor.

Can different frames have different delays?

Yes, and good encoders use that. When duplicate frames are removed, the frame that survives inherits the combined delay of the ones deleted, so a five frame still section becomes one frame with a 50cs delay. The animation looks identical and the file is a fifth of the size.