Change the speed of a GIF

Drop a GIF here

or click to choose — any size, nothing is uploaded

Drop in a GIF to see how long one play lasts and how long each frame stays on screen. Then make it faster or slower, give it an exact length, or one delay for every frame, and watch the original and the new GIF side by side. Browsers will not show a GIF frame for less than 20 milliseconds, so when a big speed-up needs that, the page keeps fewer frames instead of quietly stopping short. Everything runs on your device; nothing is uploaded and there is no watermark.

How to change a GIF's speed

  1. Drop a GIF into the box above, or click it to choose one. The page shows how long one play lasts, how long each frame stays on screen and roughly how many frames per second that is.
  2. Choose Speed and pick a preset (0.25× to 4×) or type a percentage: 200 is twice as fast, 50 is half speed. Or choose Total length and type the seconds one play should last, or Same delay for every frame and type the milliseconds.
  3. Read the line under the options. It says what the new GIF will do before you press anything, including when a big speed-up needs frames to be skipped.
  4. Press Change speed. The original and the new GIF play side by side; Play both from the start restarts them together so you can compare.
  5. Download it. The file name carries the speed, for example cat-2x.gif or loader-40ms.gif.

The 20 millisecond floor

A GIF does not store a frame rate. Each frame carries its own delay, counted in hundredths of a second, so the shortest delay you can write is 10 ms and the next is 20 ms. Browsers do not play the very short ones as written. We made a 40-frame test GIF in eight versions, each with a different delay on every frame, set it to play once and watched how long it took in Chrome 156 and Microsoft Edge:

Delay stored in each frameTime per frame on screenOne play of 40 frames
0100 ms3.9 s
10 ms100 ms3.9 s
20 ms20 ms0.8 s
30 ms30 ms1.2 s
40 ms40 ms1.6 s
50 ms50 ms2.0 s
100 ms100 ms3.9 s

Both browsers behaved the same way. A delay of 0 or 10 ms is treated as 100 ms, so the "fastest" setting plays five times slower than 20 ms. That has two consequences:

  • A GIF can change frames at most 50 times a second. Any speed-up that would need a frame to last less than 20 ms makes the GIF slower, not faster, if the delay is simply written into the file.
  • A GIF saved with 0 or 10 ms delays already plays slowly. Some apps write those values to mean "as fast as possible". When you drop such a file here, the page says how many frames are stored that way and calculates everything from the time you actually see.

When keeping every frame is not enough

To stay above the floor without changing the pictures, a speed changer can only lower each delay to 20 ms and stop there. We ran that on five real GIFs and compared it with what was asked:

GIFEach frame nowAsked forEvery frame keptWith frames skipped
Video clip, 40 frames50 ms4×2.5×4× (20 frames)
Screen recording, 60 frames60 ms4×3×4× (30 frames)
Emoji, 24 frames60 ms8×3×8× (9 frames)
Interface demo, 40 frames80 ms8×4×8× (20 frames)
Photo slideshow, 30 frames80 ms8×4×8× (15 frames)

So with Skip frames ticked (the default), a speed-up that would go below 20 ms keeps fewer frames, spread evenly through the animation, and gives each one at least 20 ms. The total time comes out right to the hundredth of a second. In Chrome, one play of the video clip took about 2 seconds originally, 0.8 seconds at "4×" with every frame kept, and 0.5 seconds with frames skipped. Untick the box if you would rather keep every frame and accept the slower result; the page tells you how fast that will be.

What changes in the file

When every frame is kept, only the delay numbers are rewritten. We checked 45 results across eight GIFs, including frames saved with no delay at all and an old GIF87a file: every byte apart from the delays was identical to the original, every frame matched pixel for pixel, and the loop setting was untouched.

When frames are skipped, the GIF has to be rebuilt, because most animated GIFs store each frame as just the part that changed. The page asks your browser's own GIF decoder for the full picture of each frame it keeps, writes those pictures back with their exact colours, and lets Gifsicle shrink the result again. In our tests the frames in the new GIF matched the original frames pixel for pixel, and files got smaller: the 2.2 MB video clip became 1.1 MB at 4× and 670 KB at 8×. If two kept frames happen to look identical, they are merged into one with their times added together, which changes nothing on screen.

Speed, length or one delay for every frame

  • Speed multiplies every frame's time by the same factor, so the rhythm of the animation stays the same; a pause held on one frame stays proportionally longer than the others.
  • Total length does the same, but you type the result instead of the factor: useful when a GIF has to fit a slot, such as finishing in 3 seconds.
  • Same delay for every frame throws away the original rhythm and gives every frame the same time. It is the quickest fix for a GIF that plays slowly because its frames were saved at 0 or 10 ms: try 20 to 40 ms.

GIF delays can only be whole hundredths of a second, so a 100 ms frame made 3× faster cannot become 33.3 ms. The page rounds as it goes along, giving some frames 30 ms and others 40 ms, so the total still lands where it should instead of drifting.

To change how many times the GIF repeats, use GIF Loop Changer. To make it smaller in bytes, Compress GIF; in pixels, Resize GIF. If a GIF has stopped moving altogether, why is my GIF not moving walks through the usual causes.

Frequently asked questions

How do I speed up a GIF?

Drop the GIF into the box above, choose 2× (or type a percentage such as 150) and press Change speed. The page shortens every frame's delay by the same factor and shows the result next to the original. Frames, colours and the loop setting stay as they were, so the file is the same size give or take a few bytes.

How do I slow down a GIF?

Choose 0.5× for half speed, 0.25× for a quarter, or type any percentage below 100. Each frame stays on screen longer by the same factor. Slowing down never needs to change the pictures, so the result is the original GIF with new delays.

Why won't my GIF go any faster?

Because browsers have a floor. A GIF stores each frame's delay in hundredths of a second, and Chrome and Edge play a delay of 0 or 1 as a tenth of a second instead. We measured it in both: a 40-frame GIF took 0.8 seconds at a delay of 2 and 3.9 seconds at a delay of 1. So the fastest a GIF frame can change is every 20 ms, 50 times a second. Past that point, the only way to go faster is to show fewer frames, which this page does when Skip frames is ticked.

Why is my GIF playing slowly?

Often because its delays are set to 0 or 10 ms. Some apps write that to mean 'as fast as possible', and Chrome and Edge answer by holding each frame for 100 ms. Drop the GIF here: if any frames are stored that way, the page says so and shows the time you actually see. Choosing Same delay for every frame and 20 to 40 ms usually gives the speed the maker had in mind.

Why did another GIF speed tool not make it fast enough?

A tool that only rewrites the delays has to stop at the 20 ms floor, and some do so without saying. We tried it: keeping every frame, a 50 ms-per-frame video clip asked to go 4× came out only 2.5× faster, a screen recording 3× instead of 4×, and an emoji asked for 8× managed 3×. This page shows how fast the result really is, and with Skip frames it reached the requested speed on all of them.

Does changing the speed lower the quality?

Not when every frame is kept: only the delay numbers change, and we checked that every other byte of the file stays the same. When frames are skipped, the frames that remain are the original pictures, taken from your browser's own GIF decoder and written back without re-colouring; in our tests they matched the original frames pixel for pixel. The file gets smaller because it has fewer frames.

Can I set an exact length or a delay for every frame?

Yes. Total length stretches or squeezes the whole animation to the number of seconds you type, keeping the rhythm between frames. Same delay for every frame gives each frame the same time on screen, which evens out a GIF whose frames were saved with uneven delays.

Is my GIF uploaded?

No. The file is read on your device and rewritten in memory. Skipping frames uses Gifsicle, compiled to run in the browser, and is downloaded once. There is no size limit from us, no account and no watermark.