GIF maker
Add pictures, put them in order, set the size and the delay between frames, and make an animated GIF. It runs in your browser and nothing is uploaded.
Free · no signup Runs in your browser
How do I make an animated GIF from pictures?
Add two or more pictures, put them in the order you want with the arrows, choose the width and the delay between frames, and press Make GIF. Each picture becomes one frame, scaled to fit the width on a white background. The GIF is built in your browser and saved to your downloads. It has no watermark and nothing is uploaded.
How an animated GIF works
An animated GIF is simply a list of pictures with a delay between them, saved in one file that loops. GIF is an old format, from 1989, and it limits each picture to 256 colours, so photographs look a little grainy compared with a JPG. In return, a GIF plays everywhere without a player: in messages, emails, forums and web pages.
This tool builds a palette of 256 colours from all your frames together, so colours stay consistent from frame to frame, and then compresses each frame with the LZW method the format uses. Pictures are scaled to the width you choose and centred on a white background so all frames are the same size. Smaller widths and fewer frames make smaller files; a few hundred kilobytes is typical for a short animation. For smooth video-like animation GIF is a poor fit, because the file grows quickly.
It runs in your browser. Your pictures are never uploaded, and there is no watermark or sign-up.
How it works in detail
Each picture is decoded and drawn on a canvas of the width you choose, fitted on a white background. A 256-colour palette is made from all the frames together using the median cut method. Each frame is mapped to that palette and compressed with LZW, and the frames are written into one GIF89a file with the delay and looping you chose. GIF delays are stored in hundredths of a second, so the delay you enter in milliseconds is rounded to the nearest 10, with a minimum of 20 ms. The file has one global palette, which keeps the size down but means very different frames share colours. Looping forever uses the NETSCAPE2.0 extension; 'play once' leaves it out.
How to use it
- Add two or more pictures.
- Use the arrows to put them in the order you want.
- Choose the width in pixels and the delay between frames in milliseconds.
- Choose Loop forever or Play once, then press Make GIF.
- Download the GIF and play it to check the timing.
What changes and what stays the same
What the tool does to your file, and what it leaves alone.
| Aspect | What happens |
|---|---|
| Frames | One per picture, in your order |
| Colours | Reduced to 256 shared by all frames, so photos may look blotchy |
| Size | Each picture is scaled to fit the width, on white |
| Timing | Rounded to hundredths of a second, minimum 20 ms |
| Looping | Forever, or once |
| Privacy | Your file is read on your device and is not uploaded; there is no account and no watermark |
When to use it
- Making a short animation from a series of photos or screenshots
- Showing steps of a process in one picture
- Creating a simple reaction or sticker
- Making a looping banner without video
Problems you may run into
Most problems come from the file itself, not from the tool.
| What you see | Likely cause | What to do |
|---|---|---|
| The colours look blotchy | A GIF has only 256 colours | Use similar pictures, or fewer frames; a video format is better for photos |
| The file is large | Many frames or a big width | Use a smaller width or fewer frames |
| It plays too fast or slow | The delay is set in milliseconds and rounded | Raise or lower the delay; 100 ms is ten frames a second |
| There are white edges | Pictures are fitted on white | Use pictures of the same shape |
| The file will not open | Your browser cannot decode this format, or the file is damaged | Try Chrome, Edge or Firefox on a computer, or open the file elsewhere to check that it plays |
| The browser slows down or stops | A very large file is processed on your own device | Close other tabs, try a computer, or use a smaller file |
Mistakes it helps you avoid
- Using many large frames, which makes a very big file: use fewer frames or a smaller width.
- Expecting photographic colour: GIF has 256 colours at most.
- Setting the delay too short: under 20 milliseconds many viewers slow it down.
- Mixing pictures of different shapes without checking the result: they are fitted inside the frame.
How it works
Everything happens in your browser.
1. Each picture is decoded and drawn on a canvas of the width you choose, fitted on white.2. A 256-colour palette is made from all the frames together (median cut).3. Each frame is mapped to the palette and compressed with LZW.4. The frames are written into one GIF89a file with the delay and looping you chose. Nothing is uploaded.
GIF delays are stored in hundredths of a second, so the delay you enter in milliseconds is rounded to the nearest 10, with a minimum of 20 ms. The file contains one global palette, which keeps size down but means very different frames share colours. Looping forever uses the NETSCAPE2.0 extension; 'play once' leaves it out.
Example: five photos at half a second each
You make a GIF from five pictures at 480 pixels wide with a 500 millisecond delay.
- Frames5
- Delay500 ms = 50 hundredths of a second
- One loop5 × 0.5 = 2.5 seconds
A looping GIF of about 2.5 seconds
Use a shorter delay for smoother motion.
Terms on this page
- Frame
- One picture in an animation.
- Palette
- The set of up to 256 colours a GIF can use.
Common questions
Why does my GIF look grainy?
GIF allows only 256 colours, so photographs lose some shading. Pictures with flat colours look much better.
How do I make the GIF smaller?
Use fewer frames, a smaller width, or pictures with fewer colours.
Is my picture uploaded?
No. Your browser reads and changes the picture on your own device. Nothing is sent over the network.
Can I change the order of the frames?
Yes. Use the arrows next to each picture before you make the GIF.
Does it loop?
By default it loops forever. Choose 'play once' to stop after one pass.
Where these numbers come from
- W3C — Graphics Interchange Format, version 89a The GIF file format: colour tables, frames, delays and looping.
- MDN Web Docs — HTMLCanvasElement.toBlob() How a browser encodes a canvas as PNG, JPEG or WebP, and what the quality argument does.
- MDN Web Docs — Using files from web applications How a page reads a file you choose without uploading it.
Last verified 2026-10-25 The method on this page is checked against the sources above at least once a year. Spotted something out of date? Tell us and we will fix it.
Related tools
Image resizer
Change a picture's size in pixels by width, height, percentage or exact size. Many files at once, nothing uploaded.
Open toolImage compressor
Make pictures smaller by setting a size limit or a quality.
Open toolRotate image
Turn pictures 90, 180 or 270 degrees or flip them, many at once, and download them in their original format.
Open toolVideo to GIF
Turn a few seconds of a video into an animated GIF, with your choice of start, end, frames per second and width. Nothing is uploaded.
Open toolImage to Base64
Turn a small picture into Base64 text for a web page or stylesheet, as a data URL, an img tag or CSS.
Open toolBMP to JPG
Convert BMP pictures to JPG in your browser. Many files at once, nothing uploaded.
Open tool🖼️ Image tools
Convert between JPG, PNG and WebP, shrink a picture to a size limit, resize it or turn pictures into a PDF. Your files never leave your device.
See all 30 tools in this section