Video source or still-image source?
A single video clip goes through the direct video-to-GIF path, while stop-motion sets and designed frame stacks are assembled from same-sized stills.
Elysia Tools
Navigation
Workflow Playbook
Build an animated GIF from video clips or still images, cut its weight with color reduction, resizing, and compression, and tune playback speed and looping until it fits the delivery budget.
Hubs
A GIF stores every frame as a full bitmap with a palette, so nothing affects file size more than how many frames exist. Before touching colors or dimensions, decide what the motion actually needs — a fixed-interval sample of the clip, a hand-picked set of timestamps, or just the first stretch of the recording. A deliberate sample rate chosen once beats re-encoding the same oversized animation three times.
A single video clip goes through the direct conversion path, which applies compression-aware settings while it builds the animation. Stop-motion shoots and designed frame stacks take the other road, assembling same-sized stills through the PNG, JPEG, TIFF, or WebP paths — and the WebP path is the one that accepts an already-animated source when you need to rebuild rather than reshoot. Match frame dimensions before assembling, because mismatched inputs become either letterboxed or cropped surprises later.
Splitting the finished GIF back into frames is the cheapest audit you will ever run. Near-duplicate frames that add weight without adding motion, palette banding across a gradient, and transparency that flickers between frames are all visible one frame at a time and nearly invisible in playback. Fixing them now means re-running one step; fixing them after delivery means explaining them instead.
Weight comes down through palette depth, pixel dimensions, and compression, in that order of strategy. Reducing colors decides how the content will look everywhere it plays; resizing to the real display width removes pixels nobody will ever render; compression as the final pass squeezes what the first two levers left behind. Treating compression as the only lever is how animations end up mangled at full size instead of clean at the right size.
Speed and looping are decisions, not defaults. The per-frame delay sets the pace, and the loop count decides whether the animation runs forever, a fixed number of times, or stops after one pass — values worth recording with the file. And when the content truly needs gradients or soft transparency that the 256-color palette cannot hold, the honest exit is re-rendering the clip as APNG rather than shipping a GIF that visibly fails.
Workflow playbook
Sample the source at a deliberate interval or extract only the frames that carry the motion, because frame count is the first and largest lever on GIF weight.
Convert the clip directly with compression-aware settings, or assemble same-sized stills into an animation, with the WebP path preserving animation from animated sources.
Split the GIF back into frames to find redundant near-duplicate frames, palette banding, and transparency flicker while the fix is still cheap.
Reduce the palette to the depth the content survives, resize to the real display width, then run compression as the finishing pass instead of the only pass.
A single video clip goes through the direct video-to-GIF path, while stop-motion sets and designed frame stacks are assembled from same-sized stills.
Fewer frames, fewer colors, and fewer pixels are the three levers of GIF weight. Decide which lever the content can afford before touching anything.
Gradients and transparency that GIF cannot hold because of its 256-color palette are a reason to re-render as APNG; universal compatibility everywhere is a reason to stay with GIF and cut harder.
Set the per-frame delay for the intended pace, fix the loop count so the animation repeats or stops deliberately, and re-render as APNG when true color or soft transparency is required.