GIF was designed when 256-colour displays were standard. Each frame uses a palette of up to 256 colours selected from the source image. For illustrations and flat-colour graphics this is plenty. For photographs with millions of colours, the palette causes visible "colour banding" — smooth gradients become stepped. This is why photographic GIFs look worse than an equivalent JPEG. For photo-quality animation, use animated WebP or MP4 instead.
Create Animated GIFs from Multiple Images
Upload a sequence of JPG, PNG, or WebP frames and combine them into a smooth animated GIF. Control frame delay, loop count, and output size.
Drop multiple files here
or browse files
Add at least 2 files • They will be combined in order
Something went wrong. Please try again.
How to Use GIF Maker
Convert your files in three simple steps — no software, no signup.
Upload Frame Images
Select multiple JPG, PNG, or WebP files. Drag to reorder them before converting — frame order matters!
Set Delay & Loop
Adjust frame delay in milliseconds (100ms = 10 fps) and choose how many times the GIF loops (0 = infinite).
Download Animated GIF
Your GIF is assembled server-side using FFmpeg and Gifsicle for optimal palette and compression.
Why Use GIF Maker?
Up to 30 Frames
Upload up to 30 individual image frames. Mix different image formats freely — JPG, PNG, and WebP all work together.
Precise Frame Delay
Set per-GIF frame delay from 50ms (fast animation) to 5000ms (slow slideshow). 100ms = 10 fps is a good default.
Loop Control
Choose 0 for infinite loop, or set a specific loop count for presentations or one-shot reaction GIFs.
Drag-to-Reorder Frames
Reorder your uploaded frames with drag-and-drop before converting. No need to rename files beforehand.
Optimised Palette
We use Gifsicle's adaptive palette optimisation to maximise colour accuracy within GIF's 256-colour limit.
Private & Temporary
All uploaded frames and the resulting GIF are deleted automatically within 2 hours.
Supported Formats
All the formats you need, all in one place.
| Format | Description | Extension | Best Used For |
|---|---|---|---|
| JPG FRAMES | JPEG frames as animation source | .jpg |
Photo slideshows, motion sequences |
| PNG FRAMES | PNG frames with transparency support | .png |
UI animations, sprite sheets |
| WEBP FRAMES | WebP frames for compact input | .webp |
Web-sourced image sequences |
| GIF OUTPUT | 256-colour animated GIF | .gif |
Social media, Slack, Discord, email |
| WEBP OUTPUT | Animated WebP — smaller than GIF | .webp |
Modern web browsers, smaller file size |
| MP4 OUTPUT | H.264 video from frame sequence | .mp4 |
Twitter, Instagram, video embeds |
Frequently Asked Questions
Who Uses GIF Maker?
From everyday users to professionals — see how people rely on this tool every day.
Create Reaction GIFs
Compile a short image sequence into a looping reaction GIF for Twitter, Reddit, Slack, or Discord in seconds.
Animate UI Prototypes
Export individual Figma/Sketch screens as PNGs and animate them into a GIF walkthrough to share prototype flows without a Figma link.
Animated Product Showcases
Combine multiple product-angle photos into a rotating animated GIF for email newsletters and product listing galleries.
Step-by-Step Tutorial GIFs
Capture tutorial steps as screenshots and animate them into a looping instructional GIF for documentation, wikis, and blog posts.
Animate Sprites & Cutscenes
Export sprite animation frames from your game engine and convert them into a shareable GIF for itch.io, devlogs, and social announcements.
Animate Data Visualisations
Export chart snapshots at different time intervals and combine them into an animated GIF to show trends over time in reports and presentations.
HarmonyPal vs. Alternatives
See how we compare to desktop software and other online converters.
| Feature |
Our Tool HarmonyPal |
Photoshop | Other Online |
|---|---|---|---|
| Up to 30 frames | Timeline | Varies | |
| Drag-to-reorder frames | Varies | ||
| Adjustable frame delay | Varies | ||
| Loop count control | Varies | ||
| Animated WebP output | |||
| MP4 video output | |||
| Free to use | Varies | ||
| API access | Pro |
Technical Specifications
Built on industry-standard open-source tools for maximum quality and reliability.
Limits & Restrictions
- Max frames: 30
- Max output width: 1280 px
- Max individual frame file: 20 MB
- Supported inputs: JPG, PNG, WebP
GIF Animation Guide: Frame Rates, Palettes and File Size Optimisation
Animated GIFs have outlasted every prediction of their demise. Despite their 1987 origins, GIFs remain the universal format for short looping animations across social media, messaging apps, and documentation. Here is everything you need to know to create them well.
Understanding GIF's 256-Colour Limitation
Choosing the Right Frame Delay
Frame delay is the time each frame is displayed before advancing to the next, in centiseconds (1/100 of a second). 10cs (100ms) = 10 fps — a natural animation speed. 5cs (50ms) = 20 fps — smoother but larger files. 50cs (500ms) — a slow slideshow. Note that many browsers enforce a minimum frame delay of 2cs (20ms) — GIFs that specify less than 2cs are displayed at a browser-dependent rate, usually 10fps.
GIF vs Animated WebP vs MP4 for Web Use
Use GIF for universal compatibility — every platform supports it. Use Animated WebP when you control the environment (modern browsers only) for 50–80% smaller file sizes with full colour. Use MP4 (H.264) for the smallest file size and the smoothest playback — an autoplaying, muted video tag is 10–20x smaller than an equivalent GIF and is the recommended approach for large animations on web pages.
Gifsicle Optimisation: How It Reduces File Size
Gifsicle is the industry-standard GIF optimiser. It analyses frame-to-frame differences and encodes only the changed pixels in each frame (delta encoding) rather than full frames. It also optimises the LZW compression table and removes redundant metadata. O3 optimisation (which we use) applies the most aggressive delta and palette deduplication passes, typically reducing file sizes by 20–40% compared to unoptimised output.
Tips for Smaller, Sharper GIFs
Keep dimensions as small as possible — every extra pixel multiplies the file size. Use a consistent background colour across frames so delta encoding is more effective. Reduce unnecessary frames — 8–12 fps is often indistinguishable from 24 fps for simple animations. Crop tightly around the animated element. For text-heavy GIFs, ensure your source PNGs are at least 2x the GIF output size for crisp downsampled text.