Slow down a GIF

Hold every frame longer so a fast GIF is easier to follow. It is changed on this device and never uploaded.

Slow down an animated GIF to 0.75×, 0.5× or 0.25× in your browser. It is free, needs no account and adds no watermark, and your files are not uploaded: everything runs in your browser on your device. No watermark. The limit is your device’s memory (phones hold less): a long or very large GIF may need a computer.

Drop GIFs to slow downor click to choose files. Batches welcome.
    Details

    Every frame’s time is multiplied by the speed and rounded to a hundredth of a second. Browsers show anything under 0.02 s as about 0.1 s, so a GIF that is already very fast cannot be made faster: its frames stop at 0.02 s.

    The loop setting is a small block in the GIF’s header. Forever writes a count of 0, a number writes how many times to play, and once leaves the block out. Some viewers and chat apps ignore it and always loop. Forward then back adds the frames in reverse after the originals, so the file is about twice the size.

    Backwards plays the frames last to first, each with its own time, and the loop setting is kept.

    Working…

    Done

    Free, no ads. Support StayPut

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    A GIF that flashes past is hard to read: a gesture, a UI flow, a dance step. Slowing it down shows each frame for longer. Pick 0.75× for a gentle change, 0.5× for half speed or 0.25× for a quarter.

    No frames are invented, so a choppy GIF is still choppy, just slower. Frame times are rounded to whole hundredths of a second, and the GIF lasts as many times longer as you slowed it.

    The GIF is not uploaded, there is no watermark, and the page works on several GIFs in one run.

    How it works

    1. Drop one or more animated GIFs.
    2. Choose how much slower (0.5× is selected).
    3. Press Slow down and save the new GIFs.

    In your browser, not on a server

    gifuct-js (MIT) reads the GIF byte by byte in your tab and every frame is composited the way browsers play it, so partial frames and disposal rules are resolved into whole pictures. The frames are put in the new order, each frame’s delay is multiplied by the speed and rounded to whole hundredths of a second, and gifenc’s (MIT) colour quantizer and LZW coder write them back with the loop setting. The new GIF is assembled in memory.

    Compared with upload-based tools: Here the GIF is re-timed in this tab: the file is not uploaded, the limit is your device’s memory (phones hold less), and no watermark is added.

    Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    How long will the slowed GIF be?

    Longer by the inverse of the speed: 0.5× doubles the length and 0.25× makes it four times as long. The loop setting is kept as it was.

    Will slow motion look smooth?

    It shows the frames the GIF already has for longer; no new frames are made in between. A GIF with many frames stays smooth, and one with few looks steppy.

    Does it work on a GIF that is very fast already?

    Yes. Slowing never runs into the 0.02 second floor that stops a fast GIF from going faster, so any GIF can be slowed.

    Is the file uploaded anywhere?

    No. There is no server in this process. The page is a static file and the work is done by code running inside your browser tab. Give the page a short while after one visit to save itself for offline use; then you can turn off Wi-Fi and it still works.

    More image tools

    Other conversions