Merge GIFs into one

Join several animated GIFs end to end, in the order you choose. They are put together on this device, and the GIFs are not uploaded.

Joins two or more animated GIFs into one GIF that plays them one after another, in the order you set, and saves it as a new GIF. Every frame keeps its own timing, and a GIF of another size is fitted to the size of the first one. It is free, needs no account and adds no watermark, and your GIFs are not uploaded: they are read and rewritten by code in this tab. The limit is your device’s memory, and phones hold less; after one visit and a short wait the page works offline.

Drop the GIFs to mergeor click to choose files. Batches welcome.
    Working…

    Done

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

    A worked example

    You have intro.gif, 480 by 270 pixels with 30 frames at 0.1 seconds each, and loop.gif, 400 by 400 pixels with 20 frames at 0.05 seconds each. Drop intro.gif first and loop.gif second. The first GIF sets the size, so the result is 480 by 270.

    loop.gif is square, so Fit inside shrinks it to 270 by 270 and puts it in the middle, with a white bar 105 pixels wide on each side. Press Merge GIFs and you download merged.gif: 480 by 270 pixels, 3 seconds of intro followed by 1 second of loop, 4 seconds in all.

    What you can set

    What this page does not do

    How it works

    1. Drop two or more GIFs, or tap to pick them. Put them in order with the arrows in the list. The first one sets the size.
    2. If a GIF is a different shape, choose Fit inside to show all of it with bars of a colour you pick, or Fill and crop to cover the frame and trim the edges.
    3. Press Merge GIFs. The frames are joined in that order, and the new GIF downloads from your browser.

    In your browser, not on a server

    gifuct-js (MIT) reads each GIF byte by byte in your tab and every frame is composited the way browsers play it, honouring each frame’s delay and disposal rule. The frames of all the GIFs are drawn in order on one canvas the size of the first GIF, and gifenc’s (MIT) colour quantizer and LZW coder write them back as one GIF with their delays and the loop setting. The new GIF is assembled in memory.

    Compared with upload-based tools: Reaction GIFs and screen recordings are often personal. Here the GIFs are joined in this tab: the files are 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 do I merge GIFs into one?

    Drop two or more GIFs, put them in the order you want with the arrows in the list, and press Merge GIFs. The frames of the second GIF follow the last frame of the first, and so on, and the new GIF downloads with each frame’s own timing.

    What happens when the GIFs are different sizes?

    The first GIF in the list sets the size of the result, so put the one whose shape you want first. Every other GIF is fitted inside that size without being stretched, and the space left over becomes bars in a colour you choose, white to start with. A smaller GIF is enlarged to fit, which can make it look soft. Choose Fill and crop to cover the frame instead, which trims the edges from the centre. For a size you pick yourself, merge first and then use Resize GIF.

    Does the merged GIF keep each GIF’s speed?

    Yes. Every frame keeps its own delay, so each part plays as fast as it did before and the merged GIF lasts as long as the originals added together. Frames with a delay of 10 milliseconds or less are written as 100 milliseconds, which is how browsers already play them. Two frames that look the same side by side may be written as one frame shown for longer, so the frame count can be lower while the length stays the same.

    What happens to a GIF with a transparent background?

    With a bar colour chosen, transparent areas are filled with that colour, so the result is a solid picture and a smaller file. To keep transparency, set the bars to transparent. GIF transparency is on or off, so soft edges can look rough over a coloured page.

    Will the merged GIF loop?

    It follows the loop setting of the first GIF in the list: if that GIF repeats forever, so does the merged one, and it repeats as a whole, from the first GIF to the last. If the first GIF plays once, the merged GIF plays once.

    Will the colours or the file size change?

    They can. A GIF holds at most 256 colours per frame, and the frames are written again, so smooth gradients can look a little different. The file is usually about as large as the originals together, and a GIF fitted to a larger size comes out bigger. Compress GIF makes a GIF lighter afterwards.

    How many GIFs, or how long, can I merge?

    The limit is your device’s memory, and phones hold less. Every frame of the merged GIF is held in memory while the file is written, so many GIFs, a long result or a large first GIF may need a computer. If the page says it is too large, merge fewer GIFs at a time, or make them smaller first with Resize GIF.

    Can I merge GIFs without uploading them?

    Yes. Your browser reads each GIF, joins the frames and writes the new GIF with code running in this tab. Open the network tab, run it, and your GIFs are not among the requests. After one visit and a short wait the page works offline.

    Can I merge a GIF with a video or a photo?

    Not on this page, which takes GIFs only. To turn a video clip into a GIF first, use Video to GIF. To make a GIF from still pictures, use the GIF maker, then merge the result here.

    More image tools

    Popular conversions