SlimGIF

Reverse GIF

Drop one GIF here or paste a GIF file.

All file processing stays in your browser. Your GIF is not uploaded.

No file selected.

Choose a GIF, reverse it, then download.

Reverse the motion, carry the delays

Choose one local GIF and press Reverse GIF. This GIF reverser puts the last displayed frame first and the first displayed frame last. Each frame carries its own stored delay into its new position. It does not apply a single frame rate, shorten a hold, drop frames or append a forward section.

See where a pause moves

The hold map identifies the maximum stored frame delay and shows where those frames occur in the original and reversed timeline. If several frames tie, the first five in original order are shown and the remaining count is stated. The frame numbers begin at 1.

These are calculated file timings, not a measurement of browser playback. For original frame i, its output position is N + 1 − i. Its original start time is the sum of delays before i; its reversed start time is the sum of delays after i. Its delay is unchanged. The map also names the original-frame numbers at the reversed loop boundary.

What happens at the loop boundary?

The recorded loop setting is retained, including an absent loop extension. The reversed sequence ends on original frame 1 and, if another cycle plays, starts again on original frame N. The delay on original frame 1 now occurs before that return. A hold on the original final frame moves to the beginning. Reversing does not make a visibly discontinuous loop seamless and is not a boomerang effect.

Zero and very short delays remain in the file. Browsers may clamp them during playback; a zero-delay frame has no positive interval in the stored timeline. The sum of stored delays stays the same, but visible playback time can vary between players.

What changes and what stays?

The engine expands dependent frame rectangles into complete image states before reversing their order. It keeps the image dimensions, frame count, each frame's delay and loop setting. There is no resize, palette reduction or lossy compression step.

The frame rectangles and encoding are rewritten, so the output can be larger than the input. You receive the generated result even if it is larger; the original file is not substituted. Extension metadata, including comments and application-specific blocks, is not promised to be identical.

Supported files and limits

Input and output are GIF87a / GIF89a. Choose, drop or paste one local file. APNG, WebP, video, URLs, cloud imports and multiple-file batches are not supported. A static, single-frame GIF remains a single frame.

There is no fixed input byte limit. Usable size depends on browser memory. A safety limit rejects more than 100 million frame pixels (width × height × frame count), and processing stops after two minutes. Expanding every frame can use much more memory than the compressed file. A failed operation shows an error and no download.

No login, no registration, no added watermark and no saved history. Gifsicle WebAssembly runs in a separate browser worker. This site uses Cloudflare Web Analytics for website statistics; your GIF content is not sent to analytics.

Frequently asked questions

Does reverse GIF mean mirror the picture?

No. This page reverses time order, not left and right. It does not rotate or mirror the image.

Can I reverse just a short section?

Use Cut GIF duration first, then choose that downloaded segment here.

Will the reversed file be smaller?

It may be larger because complete frames are rewritten. Use Reduce GIF size or the GIF compressor if file size is the next task.

Can I change the dimensions or extract stills?

Use Resize GIF dimensions, Crop GIF edges or Extract PNG frames.