Drop a PNG sprite sheet, set the frame grid and the frame rate, watch it play, and download an animated GIF. Scale it up on the way out so the pixels stay sharp anywhere you post it.
A PNG strip or grid with every frame the same size. The tool guesses a horizontal strip of square frames straight away; fix the columns and rows if the guess is off.
Pick a frame rate, an integer scale, whether it loops, and ping-pong for animations that should run back to their start. The preview updates on every change so you can see the timing before you export.
Encoded in the browser with a shared palette across frames and transparent background preserved. Post it, drop it in a README, or send it to a client.
A sprite sheet has no timing in it. The frame rate is a choice you make when you play it back, which is why this tool shows the animation live rather than just encoding it. Move the slider and watch the character walk faster or slower until it feels right. Pixel-art animations usually run far below video frame rates: 6 to 12 frames per second is the normal range, and a handful of well-chosen frames at 8 fps reads better than the same motion smeared across 30.
Scale matters for the same reason. A 32 px GIF posted to a chat app or a store page gets blurred by the viewer's own scaling. Exporting at 3× or 4× bakes in crisp nearest-neighbour pixels so it looks like pixel art everywhere. GIF stores 256 colours and a single transparent index, so a sheet with anti-aliased or semi-transparent edges will come out with those edges hardened. If that bothers you, run the sheet through the colour reducer first and check the result at 1× here before exporting.
Yes. The sheet is sliced and the GIF is encoded in your browser, so there is no upload, no account and no watermark. Make as many as you like.
Either give it the number of columns and rows, or the exact frame width and height in pixels. It guesses a horizontal strip of square frames when you drop the sheet, so most strips need no changes. Frames are read left to right, top to bottom.
Most pixel-art animations sit between 6 and 12 frames per second. Idle loops look right around 6 to 8, walk cycles around 8 to 12, and fast attacks up to 15. GIF timing is stored in hundredths of a second, so rates above 25 are rounded slightly.
GIF is limited to 256 colours per image and a single fully transparent index, so semi-transparent pixels become either solid or clear. Pixel art with a small palette and hard edges converts with no visible loss. Sheets with gradients or anti-aliasing will be reduced to fit.
It plays the frames forward and then backward, so a sheet that only goes one way still loops smoothly. Good for breathing idles, hovering objects and anything that should return to where it started without a jump cut.
The reverse: unpack an animated GIF into a PNG strip or grid with a JSON sidecar.
Split any sheet into individual frames by grid or auto-detect.
Integer nearest-neighbour upscaling that keeps every pixel square.
Open SpriteLab to keep building with your sprites.