K-magpie › Kmagpie Tools › GIF Maker
String several photos together into an animated GIF. Only have one photo? Camera effects like zoom and panning can animate it too. Files never leave your browser — no upload, no sign-up, no watermark.
Stitch several photos into an animated GIF, or bring a single photo to life with zoom and pan effects. Everything, including the encoding, happens inside your browser — files are never uploaded anywhere. If file size is a worry, shrinking to 480px on the long side is the single most effective fix.
GIF is a format from 1989, and its original design has carried through unchanged: a frame can use only 256 colors, and within that limit there is no lossy compression to trade quality for size. On top of that, most GIFs store the entire canvas again for every frame. Build a GIF from ten photos and you are essentially packing ten photos' worth of data into one file.
Video codecs work the opposite way. H.264, the codec behind most mp4 files, stores only what changed since the previous frame and boldly discards detail the human eye can't distinguish. That is why the same clip as an mp4 is routinely ten to fifty times smaller than as a GIF. Yes, GIF is technically outdated — but there is a reason it survives. Because it is an image file, it plays automatically everywhere with no video player, no sound, and no pausing.
For a short scene of a few seconds looping forever, a GIF is still the convenient choice. Reaction GIFs in chat, a short demo clip inside a blog post, a forum signature or banner — anywhere an image slot needs motion is GIF territory. Since it counts as an image, it is rarely blocked as an attachment, and nobody has to press play.
Once the clip runs past a few seconds or the scene count climbs, make a video instead. Thirty photos at one-second intervals is really a slideshow video, and forcing it into a GIF only inflates the size while degrading the quality. If you need sound, GIF is not even an option — the format simply has no way to carry audio. This tool is tuned for the territory inside that boundary: a handful to a dozen or so photos on a short loop.
The 256-color limit is kind to graphics and cruel to photographs. Logos, screenshots and simple illustrations use only a few dozen distinct colors, so they fit inside 256 with room to spare and look nearly identical to the original. But smooth gradients — sky, sunsets, skin — are another story. Tens of thousands of in-between shades must be squeezed into 256, so similar colors get merged and a once-smooth sky develops contour-line stripes. That artifact is called banding.
This tool computes a dedicated best-fit 256-color palette for every single frame to minimize the damage, but the format's ceiling can't be avoided. It is also why colors can shimmer slightly between frames when your photos were shot under different lighting. If the graininess bothers you in a photo-heavy result, switching to a video format is the real fix; if it has to be a GIF, shrinking the output also makes the speckling less visible.
A 0.1-second delay means 10 frames per second; 0.5 seconds means 2 per second. For a hand-flipped slideshow feel, 0.5 to 1 second reads naturally; to create motion from burst-shot photos, 0.1 to 0.2 seconds works better. Smoothness ultimately comes from frame count, so for the same duration, a shorter delay means more frames and a proportionally bigger file.
There is a floor on how fast you can go. GIF measures time in hundredths of a second, and when the delay drops near 0.01 seconds, most browsers ignore it and play at 0.1 seconds instead — a convention left over from blocking abusive flashing ads in the early web. So this tool never goes below 0.02 seconds. At 50 frames per second, motion already looks perfectly smooth to the eye.
How big your GIF may be depends entirely on where it is going. Messaging apps typically cap animated images at a few dozen MB and either convert oversized ones to video or refuse them. Discord's upload cap for free accounts was famously 8MB for years and still sits in the tens of MB, blog platforms commonly allow a few MB to a few dozen MB per image, and forums vary wildly. Limits shift with each service's policy, so the practical rule is simple: keep it under 10MB and it will post almost anywhere.
The order for cutting size is fixed: dimensions first, frame count second, delay third. Pixel count multiplies across width and height, so halving the long side cuts the file to roughly a quarter — which is exactly why 480px, not the original size, is the default recommendation. Still too big? Drop near-duplicate frames to reduce the count, and finally stretch the delay a little to keep the total duration the same.
Motion doesn't have to come from multiple shots. The single photo mode takes one still image and adds a slow zoom-in, a sideways pan, or a heartbeat-style pulse, turning it into an animated GIF. It suits spots where you want to hold the eye — a thumbnail, a product or portrait highlight, or a single dramatic frame dropped into chat. Note this is different from AI animation that makes the person in the photo actually move; here the whole frame moves like a camera, nothing more.
Check the output size. Left at Original, a single phone-photo frame can weigh several MB. Shrinking to 480px on the long side cuts the size dramatically, and 480px is plenty big in chat or a blog post. If it is still too large, reducing the frame count is the next lever.
That is GIF's 256-color limit, which produces stripes and blotches especially in gradient-heavy photos. It is inherent to the format and can't be fully avoided; if color fidelity matters, consider a video format instead.
That happens with very short delays. Browsers conventionally ignore delays shorter than 0.02 seconds and play them at 0.1 seconds, so this tool blocks anything below 0.02s to begin with. If it is still slow above that, the device is likely struggling — try a smaller frame size.
Every frame of a GIF must be the same size. This tool uses the first frame's dimensions as the reference, scales the rest down to fit while keeping their proportions, centers them and fills the leftover space with the padding color. Nothing is cropped, so no content is lost — but if the padding bothers you, crop your photos to the same aspect ratio before uploading.
No. Reading the images and encoding the GIF happen entirely inside your browser, and everything works the same with the internet disconnected. Closing the tab leaves nothing behind — which also means refreshing the page starts you over from scratch.
On purpose. Some browsers silently drop downloads whose filenames contain unusual characters, so the tool always saves under one plain ASCII name that works everywhere. Rename it after downloading if you like.