Change GIF speed or play it backwards

Make an animated GIF faster or slower, or play it in reverse. Done on this device, and the GIF is not uploaded.

Speeds an animated GIF up or slows it down, or plays it backwards, by rescaling every frame’s time and saving a new GIF with the same loop setting. 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 speed up, slow down or reverseor 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.

    How it works

    1. Drop one or more animated GIFs, or tap to pick them.
    2. Choose a speed from 0.25× to 4×, and tick Play it backwards to reverse the order of the frames.
    3. Press Change GIF. Each GIF keeps its size and loop setting; one downloads straight away, several download as a zip.

    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 fast can a GIF go?

    Browsers show a frame time under 0.02 seconds as about 0.1 seconds, so every frame is held to at least 0.02 seconds. A GIF that is already very fast cannot be made much faster, and speeding it up further only shortens the frames that were longer.

    Does reversing keep each frame’s timing?

    Yes. The frames are written last to first, and each one takes its own time with it, so a pause on the last frame becomes a pause on the first. The loop setting is copied as it was.

    Can I speed up and reverse at once?

    Yes. Pick a speed and tick Play it backwards in the same run. The file name says which you chose, such as -reversed-2x.

    Is my GIF uploaded?

    No. The GIF is decoded and rewritten by code running in this page, with no server in the process, and the limit is your device’s memory (phones hold less). The page keeps working offline after one visit and a short wait.

    More image tools

    Popular conversions