GIF Maker
Turn multiple images into an animated GIF with custom frame delay.
Reviewed by ZeroUtil Editorial Team · Last reviewed
What You Should Know
A GIF maker combines several still images into one animated GIF. Drop your images in, arrange the frame order, set the delay between frames, pick an output size, and the animation is encoded entirely in your browser - your photos are never uploaded anywhere. The result loops forever, has no watermark, and downloads as a standard GIF that works in chats, README files, and anywhere else images are accepted.
Runs 100% in your browser - your data never leaves your device
Drop images here or click to upload
JPG, PNG, WebP, BMP. Up to 50 frames, 20 MB each. Everything stays in your browser.
Using the GIF Maker
- Drop in your images - JPG, PNG, WebP, BMP, or single frames from other GIFs. Select several at once or add them in batches, up to 50 frames.
- Arrange the order with the Up and Down buttons; the list order is the playback order. Remove any frame that does not belong.
- Set the frame delay in milliseconds (500 ms is a comfortable slideshow pace) and pick a maximum output size.
- Click Create GIF, watch the per-frame progress, preview the looping result, and download it.
What Happens Under the Hood
Each frame is drawn onto a canvas sized from the first image's aspect ratio, capped at your chosen dimension. The canvas pixels are quantized to a 256-color palette - the GIF format's hard limit - using a pairwise-nearest-neighbor quantizer, mapped to palette indices, and written into the GIF stream with your delay and an infinite loop flag. The encoder yields back to the browser between frames so the page stays responsive and the progress indicator can update. The finished bytes become a Blob you download directly; nothing is transmitted.
Good Uses for an Image-Based GIF
- Turning a sequence of UI screenshots into a short product demo for a README or pull request.
- Animating a before/after pair (two frames, 800 ms delay) for design reviews.
- Building a slideshow of photos for a chat where video embeds are clumsy but GIFs autoplay.
- Assembling sprite renders or chart snapshots into a quick motion preview.
Limits Worth Knowing
- 256 colors per frame - inherent to GIF; flat graphics look perfect, photos show banding.
- File size grows fast - GIF is an inefficient format by modern standards. If the output is too heavy, reduce the max size or the frame count, or use the video tools for an MP4.
- Mixed dimensions are fine - frames are letterboxed onto the first frame's aspect ratio with a white background.
Frequently Asked Questions
Are my images uploaded to a server?
No. The frames are read with local object URLs, drawn onto an in-memory canvas, and encoded to GIF by a JavaScript encoder running in your browser tab. There is no upload, no queue, and no server-side copy of your images - the Network tab in DevTools stays quiet during encoding. This is different from our video-to-GIF converter, which needs a server because video decoding requires FFmpeg.
How is this different from the Video to GIF converter?
This tool starts from still images (photos, screenshots, rendered frames) and animates them. The video-to-GIF converter starts from a video file and extracts its frames on our server because browsers cannot decode arbitrary video codecs reliably. If your source is a set of images, use this tool and nothing leaves your device.
What frame delay should I use?
The delay is the time each frame stays on screen, in milliseconds. For a slideshow feel use 500-1000 ms. For smooth motion from a burst of photos use 50-100 ms. Note that browsers clamp very small values: delays under about 20 ms are rendered at roughly 100 ms by most browsers, so the tool enforces a 20 ms minimum.
Why does my GIF look grainy compared to the source photos?
The GIF format is limited to 256 colors per frame. The encoder builds an optimized palette for each frame with pairwise-nearest-neighbor quantization, which works well for screenshots, charts and flat graphics but visibly bands smooth photographic gradients. For photo-heavy animations a video format like MP4 or WebM preserves quality at a fraction of the file size.
Is there a watermark or a frame limit?
No watermark, ever. The tool accepts up to 50 frames at up to 20 MB per image. The practical limit is file size: a 50-frame GIF at 800 px can reach tens of megabytes, so start with 480 px and increase only if you need the detail.
Do all frames need to be the same size?
No. The output canvas takes its aspect ratio from the first frame, capped at your chosen maximum size. Every other frame is scaled to fit inside that canvas, centered, with white filling any leftover space. For the cleanest result, crop your images to the same aspect ratio first - our image cropper does that in a few clicks.
Related tools
- Video to GIF Converter
Convert MP4, WebM and MOV videos to animated GIFs. Files are auto-deleted after 15 minutes.
- Image Resizer
Resize images by pixels or percentage with aspect ratio lock.
- Image Format Converter
Convert images between PNG, JPEG, and WebP formats in one click.
- Image Compressor
Compress images by adjusting quality to reduce file size without losing visual clarity.
- Image Cropper
Crop images with preset aspect ratios like 1:1, 16:9, and 4:3 using a visual editor.
More Image Tools
Base64 to Image Converter
Decode a Base64 string or data URL back into a viewable image and download it as PNG, JPG, WebP or GIF. Runs in your browser.
Open toolFavicon Generator
Generate favicons in all standard sizes (16x16 to 512x512) for websites and PWAs.
Open toolImage Blur & Pixelate
Apply blur or pixelation effects to images with adjustable intensity.
Open toolImage Color Picker
Upload an image and pick colors in HEX, RGB, and HSL with a visual color history.
Open toolImage Compressor
Compress images by adjusting quality to reduce file size without losing visual clarity.
Open toolImage Cropper
Crop images with preset aspect ratios like 1:1, 16:9, and 4:3 using a visual editor.
Open tool