Sprite Sheet Maker

Everything happens in your browser — your images are never uploaded to a server.

About sprite sheets

A sprite sheet is a single image file containing multiple smaller images (frames) arranged in a grid, commonly used in game development and animation because loading one combined image is more efficient than loading many separate files, and it makes frame-by-frame animation straightforward. This tool combines multiple uploaded images of the same size into a single sprite sheet, letting you set the column count and spacing, then download both the combined image and a JSON file listing each frame's coordinates.

How the sheet and frame data are generated

Images are arranged left-to-right, wrapping to a new row based on your chosen column count, each drawn onto a shared canvas at its calculated grid position with your specified spacing between frames. If your uploaded images have different sizes, the tool aligns them within a cell sized to the largest image to avoid overlap. The downloadable JSON file records each frame's x/y position and width/height in the final sheet, which game engines and animation tools commonly use to know where to "cut out" each frame during playback.

Frequently asked questions

Why do I need the JSON coordinate file, not just the image?
The combined PNG alone doesn't tell a game engine or animation library where one frame ends and the next begins — the JSON file provides those exact pixel coordinates, which is what lets software correctly slice the sheet back into individual animation frames during playback.
What happens if my uploaded images aren't all the same size?
The tool still works, but each grid cell is sized to fit the largest uploaded image, so smaller images will have extra empty space around them within their cell rather than being stretched or cropped to match.
Can I reorder the frames after uploading them?
Yes — you can move any thumbnail earlier or later in the sequence using the reorder controls, or remove individual images, before generating the final sprite sheet, since frame order usually matters for how an animation plays back.