Frames to GIF Maker
Shot a burst of phone photos, or a product turning on a table in twelve stills? Drop the images here and they play back as one looping animation, in the order and at the pace you set. This frames to GIF maker fits mixed sizes onto one canvas, keeps transparent PNGs transparent, and builds the GIF in your browser without uploading anything.
How to turn images into a GIF
- Drop your images. PNG, JPG, WebP and HEIC all work, and so does a ZIP of images. Files are added in filename order, so frame-2 comes before frame-10.
- Arrange the frames. Drag a frame to move it, or use its arrows. Copy repeats a frame and ✕ removes it, while the preview plays the sequence at its real timing.
- Set timing and size, then make the GIF. Choose a global delay, override any frame, pick the looping and canvas size, then press Make GIF and download.
You can add up to 600 frames, and files over 100 MB are skipped. While encoding, every frame is held at the output size, so the tool checks the total against a 512 MB memory budget before it starts. 600 frames fit at 480 × 360 but not at 1080 × 608, and the tool says so up front instead of stalling the tab.
Setting frame delays and loops
GIF stores each frame's delay in hundredths of a second, as the W3C GIF89a specification sets out, so every delay here rounds to the nearest 10 ms. The minimum is 20 ms, because Chrome, Edge and Firefox show 10 ms or less at 100 ms. At 20 ms per frame a GIF plays at 50 frames per second, the fastest it will run as written in those browsers.
Leave a frame's delay blank to use the global delay, or type a value to hold that frame longer, such as a pause on the final product shot. As starting points, 100 ms (10 fps) suits a photo burst, 200 to 500 ms reads as a slideshow, and 40 to 60 ms looks smooth when the frames were drawn as animation.
Looping has three settings. Loop forever is the usual choice. Play once leaves out the loop block, so the animation stops on its last frame. Repeat count stores a number of extra plays after the first; check it where the GIF will be shown, because not every app honours a fixed count.
A ZIP made by the GIF to frames splitter in this set carries a timing.csv. Drop that ZIP here and its delays are applied automatically, so a split, edit and rebuild keeps the original pace.
Mixing image sizes without stretching
Every frame of a GIF shares one canvas, so images of different sizes have to be fitted to it. By default the canvas takes its shape from frame 1; you can also choose a fixed shape such as square or 9:16, and its size from the long edge you pick.
- Fit inside keeps the whole image and fills the gap with a bar colour, or with transparency if you tick Transparent bars.
- Fill and crop covers the canvas completely and trims the overflow, centred.
- Stretch fills the canvas exactly and distorts anything with a different shape, so it only suits images that are already close to the right proportions.
If the subject sits off-centre, crop the images before adding them, because Fill and crop always trims from the middle. The image resizer crops and resizes an image to exact pixels, and the image converter batch-converts PNG, JPG, WebP, AVIF and HEIC files if you want a set in one format first.
Photos vs flat graphics in a 256-colour format
A GIF frame can hold at most 256 colours, so photographs lose smooth gradients to visible bands, and skies, skin and soft shadows show it first. Logos, screenshots, flat illustration and pixel art usually come through unchanged, because they rarely use more than 256 colours. The tool does not dither, so gradients band rather than speckle.
One shared palette builds a single set of colours from a sample of all the frames and reuses it, which keeps the file smaller and stops colours shifting between frames. A palette per frame gives each image its own best 256 colours, which looks truer when the frames differ a lot, at the cost of a larger file.
Transparent PNG frames stay transparent, but GIF transparency is all or nothing per pixel. Soft edges are cut at half opacity, so a cut-out with a feathered edge can look slightly jagged. To make the cut-out frames in the first place, the background remover turns a photo into a transparent PNG.
For a long photographic loop, a video file keeps full colour and is usually far smaller. When the destination needs a GIF, make it here, then bring it under a size limit with the GIF file size reducer.
What this tool does not do
- It does not add crossfades or other transitions between frames.
- It does not take an animated GIF as input; GIF files are skipped, so add the frames instead.
- It does not dither colours or add a watermark.
- It does not upload your images. Decoding, fitting and encoding all happen in the tab.
Frames to GIF FAQ
How do I turn pictures into a GIF?
Drop the pictures into the tool above, drag them into order, set a delay, and press Make GIF. The preview plays the sequence first, so you can fix the order and timing before anything is encoded. The finished GIF downloads straight from your browser, and nothing is uploaded.
How do I convert PNG or JPG images to a GIF?
Drop the PNG or JPG files here, in any mix. Each image becomes one frame, fitted to a single canvas size, and the set is encoded into one animated GIF. A single image works too and gives you a still GIF.
How do I set the delay between frames?
Type a global delay in milliseconds, then override any frame in its own box. GIF stores delays in hundredths of a second, so values round to the nearest 10 ms, with a 20 ms minimum. The total length updates as you type.
What happens if my images are different sizes?
They are fitted onto one canvas. Fit inside keeps each whole image and adds bars, Fill and crop fills the canvas and trims the overflow from the centre, and Stretch fills it exactly but distorts. The canvas takes frame 1's shape unless you choose a fixed one.
Can I make a GIF from iPhone HEIC photos?
Yes. A browser that can read HEIC decodes it directly; otherwise the tool loads a HEIC decoder into the page and converts each photo in your browser. That decoder is slow on large photos, so a big burst can take a while to read. Nothing is uploaded either way.
Out of stills to animate?
Generate the motion itself in Playcut's AI video generator, then turn the clip into a GIF with the free tools here.
See the video generator