What This Tool Does
Drop a sprite sheet and it plays back as an animated GIF. The same detection, row and range selection, and playback controls used for slicing frames apply here — pick the frames you want, set the frame rate and a scale, choose how the background should be handled, and download a single looping GIF file.
Why the Timing Isn't Exact
A GIF does not store delay as milliseconds; it stores it as a whole number of hundredths of a second per frame, and the encoder never emits a step shorter than two hundredths of a second — a shorter one is easily misread as ten times slower by real players, which would defeat the point. Most frame rates a game or an app actually uses — 24, 30, 60 — do not land on an exact multiple of that unit either, so the encoder rounds to the closest one it can represent. The gap is usually small, but at high frame rates it stops being negligible: 60 fps rounds to a 2-step delay and plays at roughly 50 fps rather than 60, and that 50 fps ceiling holds for every frame rate above it too. Whenever the rounded rate differs from what was requested, the effective fps is shown next to it, so the difference is stated rather than hidden.
Transparent or Flattened
GIF transparency is binary — a pixel is either fully opaque or fully invisible, never partway. Pixel art built with hard-edged, one-bit alpha survives that unchanged, which is why the tool defaults such sheets to a transparent export. A sheet with soft, anti-aliased edges is a different case: cutting its partial-alpha edge pixels at the 50% mark leaves a ring of the wrong colour around every sprite, most visible against a busy background. Flattening those sheets onto a solid background colour first removes the fringe entirely, in exchange for the sprite no longer being see-through. Either mode is one click away regardless of which one is suggested by default.
One Palette For Every Frame
A GIF carries a single colour table, shared by the whole animation, capped at 256 colours. Building it by looking at every selected frame at once — rather than picking a fresh palette per frame — is what keeps a character's skin tone or a UI element's colour from drifting as the animation plays; a per-frame palette would let each frame round the same colour to a slightly different nearest neighbour. The tradeoff is that a sheet using many more than 256 distinct colours across its frames will see some of them merged into their closest match, which is usually invisible on pixel art but can show as light banding on sheets with painterly gradients.