GIF Maker for Photos, Frames, and Motion
Frame Management Drag to reorder
Please upload at least 2 imagesTurning photos and frames into an animated GIF
Create an animated GIF from a sequence of photos or frames. Arrange the images in playback order, set a shared delay or adjust individual frame timings, and choose the output width and loop count. For example, use a longer delay on a final instruction so viewers can read it. More frames and larger dimensions usually increase the download size.
Cost: Free to use. File size and usage limits apply.
How to make a GIF from images
Add at least two images
Click Upload images to create an animated GIF or drop several files onto the preview. To reuse files from Uploads, including results from other tools, open that panel and click them, or press Select All there.
Put the frames in order
Frames play from left to right in the Frame Management strip. Drag a frame to move it, or focus it and press the arrow keys. Clicking a frame makes it the active frame for the per-frame settings.
Set the timing
Set Default Frame Delay first, because it resets every frame. To time one frame differently, click it, press Editing Frame … of … so only that frame is checked, and set Frame Delay, for example 2000 ms on a closing title. Press play or the Space key to preview the loop.
Choose size, quality and loops
Pick a width, a Quality level and, under Loop count, how often the GIF repeats. Brightness, contrast, saturation and transitions are optional and apply to the active frame.
Create and download
Click Create Enhanced GIF! or press Ctrl+Enter (Cmd+Enter on a Mac). The result card shows the GIF's dimensions and file size. Download GIF saves it, Apply Changes returns to the editor with all frames and settings kept, and Reset clears everything for a new GIF.
Every setting explained
Default Frame Delay, width, quality and loop count apply to the whole GIF, Frame Delay to the checked frames, and adjustments and transitions to the active frame.
- Default Frame Delay
- 20–5000 ms, default 100 ms (shown as 10.0 fps). Changing it resets every frame to the new value, including individually timed ones; the Frame Delay button below the frame strip reapplies it to every frame. GIF stores delays in hundredths of a second, so values are rounded to the nearest 10 ms. Many browsers play delays of 10 ms or less at 100 ms.
- Frame Delay (Edit Selected Frame)
- 20–10,000 ms. Applies to every checked frame, or to the active frame when none is checked. New frames start out checked, so narrow the selection first with the checkboxes or the Editing Frame … of … button, which checks only the active frame. Select All checks every frame again.
- Removing frames
- Remove selected and the Delete key remove every checked frame, which right after an upload means all of them; a frame's trash icon removes just that one. Clear All empties the strip, and the files stay in Uploads. Clear all images in the Uploads panel removes every image and GIF from Uploads, for every tool.
- Width
- Presets of 240, 320, 400, 500, 640 and 800 px, default 500 px. The height follows from the tallest frame at that width. Each image is scaled up or down to fit and centred, and any gap is filled with black.
- Largest source and Smallest source
- Use the exact pixel size of your biggest or smallest image (by area) as the canvas instead of a fixed width. Smallest source avoids upscaling; Largest source keeps your biggest image at full resolution, so large photos give large files.
- Quality
- Original (default) gives every frame its own 256-colour palette, which suits photos that change from frame to frame. High shares one 256-colour palette across the GIF, Medium one of 128 colours, and Low uses 64 colours with a regular grid-like dither. Medium and Low make smaller files and suit flat graphics better than photos.
- Loop count
- Enter
0–1000.0(default) repeats forever. Any other number is the total number of plays:1plays once and stops on the last frame,3plays three times. - Brightness, Contrast, Saturation
- 0–200 % for the active frame, in the card titled Editing Frame … of …; 100 % leaves it unchanged. Apply to All Frames copies the three values to every frame, and Reset returns the active frame to 100 %.
- Transition
- Transition to Next Frame offers None, Fade, Slide or Zoom for the active frame, with Transition Duration (100–1000 ms in 50 ms steps, default 300 ms) and Transition Frames (2–20, default 5). Slide adds Slide Left or Slide Right, and Fade adds Fade Out or Fade In.
How transitions look and how long they take
Every transition passes through black; the tool does not blend two photos into each other. Fade Out darkens the current frame to black before the next frame appears. Fade In cuts to a dark version of the next frame and brings it up to full brightness. Slide pushes the current frame out to the left or right over a black background, and Zoom enlarges it to 120 % while it fades to black.
A transition adds its Transition Frames as extra frames after the frame it belongs to and spreads them evenly across the Transition Duration. At the defaults of 300 ms and 5 frames, each step lasts 60 ms; more frames give a smoother transition and a slightly larger file.
The frame itself stays on screen for its delay minus the transition duration, but at least 100 ms, and then the transition plays. With the default 100 ms delay and a 300 ms fade, that frame takes 400 ms in total. With a 1000 ms delay, the fade fits inside: 700 ms of still image plus 300 ms of fade. Transitions lead from one frame into the next, so the last frame ends the GIF with a clean cut.
Mixed image sizes, black bars and file size
All frames share one canvas. Two 1920 × 1080 px landscape photos and one 1080 × 1920 px portrait photo at 500 px width give a 500 × 889 px GIF, and the landscape frames sit in the middle with black bars of about 304 px above and below. Cropping all images to the same aspect ratio first with Crop Image avoids this.
File size grows with pixel count, frame count and colours. Width counts twice, because the height scales with it: 320 px wide has about 40 % of the pixels of 500 px. Every transition also adds 2 to 20 frames. If the result is still too large, Compress GIF can reduce it further.
Every frame is placed on a solid canvas, so transparent areas of PNG, WebP or GIF frames come out opaque. Place logos and cut-outs on a background of your choice before you upload them.
Formats and limits
- Input formats
- JPG, PNG, WebP, GIF, BMP, TIFF, TGA, ICO, AVIF, HEIC and HEIF. Animated GIF and WebP files are unpacked into their frames.
- Output format
- One animated GIF
- Maximum file size
- 200 MB per image
- Images per GIF
- At least 2
- Output size
- 240–800 px wide via presets, or the exact size of your largest or smallest image
- Processing
- On our servers with FFmpeg. A job can run for up to 15 minutes. No AI service is involved.
- Watermark
- None
- Storage
- Uploads and results are deleted automatically after 48 hours for guests and after 30 days for free accounts. Paid plans can keep files longer.
Frequently asked questions
Why is my GIF larger than the images I uploaded?
JPG and HEIC use lossy compression built for photos. GIF limits each frame to 256 colours and compresses without loss, which stores photographic detail inefficiently. To shrink the file, lower the width, remove frames or transitions, or choose Medium (128 colours) or Low (64 colours).
Why do colours look grainy or banded?
A GIF frame can show at most 256 colours, so smooth gradients such as skies are approximated with dithering, a fine pattern of mixed colours. Original gives photos the best colours because each frame gets its own palette; Medium and Low use fewer colours, so the pattern shows more.
Can I use an animated GIF or a video as a frame?
Animated GIF and WebP files are accepted and unpacked into their frames, which play in order at the Default Frame Delay. To re-time a GIF frame by frame, extract its frames with Split GIF and add those instead. Videos are not accepted; use Video to GIF for clips.
How do I make the GIF play only once?
Open Loop count and enter 1. The GIF then plays once and stops on its last frame, so give that frame a longer delay if it carries a message. Some apps loop every GIF regardless of this setting.
Are my images uploaded to a server?
Yes. Images are uploaded and the GIF is rendered on our servers; nothing is sent to an AI service. Uploads and the finished GIF also appear in Uploads, where the other tools can use them, and are deleted automatically after 48 hours for guests or 30 days for free accounts.