A sprite sheet is one image containing several smaller images, called sprites or frames. A game reads a rectangle from the sheet instead of displaying the whole image. Changing that rectangle over time creates an animation; the sheet itself is still a picture.

This example contains two existing Kenney Platformer Characters poses, used under CC0. Each frame is 80 × 110 pixels. Placing them in two columns with no gap produces a 160 × 110 PNG. These are supplied drawings arranged by the tool, not newly generated movement.
Download the example PNG, then open the sprite sheet animator. Choose two columns, one row, zero margin and zero spacing. Split the sheet and step between frames 1 and 2. Playing them demonstrates the mechanism; two poses do not establish a complete production walk cycle.
A regular sheet describes frame positions through its grid. The game still needs to know which frames belong to an action, their order, their speed and whether to loop.
For example, four frames played at eight frames per second take half a second per loop. Doubling the frame rate halves the duration; it does not add intermediate drawings. A four-direction character may have one action on each row. Playing every row consecutively makes the character change direction, so select the relevant frame range before judging the motion.
Use the animation timing explanation to work out speed and holds. To share the selected animation outside a game engine, export the sprite sheet as a GIF. Keep the original PNG for full-color artwork: GIF uses a limited palette and on/off transparency.
A regular grid can be read from known cell dimensions, rows, columns and any gaps. A JSON atlas supplies explicit frame rectangles and names. A tightly packed irregular atlas generally needs its matching metadata; guessing an even grid will cut through sprites.
Neither PNG nor rectangle-only atlas JSON automatically creates a walk animation, chooses a pivot or configures an engine animation clip. The PNG versus JSON atlas article explains that choice in detail.
| Your input | Next step |
|---|---|
| Separate PNG, JPG or WebP poses | Arrange the frames into a sheet |
| An animated GIF | Convert the GIF to a sprite sheet |
| An existing regular sprite sheet | Cut it into PNG frames or preview an action |
| A game importer expecting named rectangles | Export a PNG and matching JSON atlas |
For the full packing procedure, follow the image-to-sheet guide. For supplied artwork, check its license and preserve its original canvases and alignment before exporting.

Find out whether your importer needs a regular grid or named frame rectangles, and which animation settings you must add in the engine.

Plan sprite animation FPS, loop duration, and per-frame holds with simple timing math, then carry those choices into your game engine.

Understand outer padding, gaps, edge extrusion, and sampler settings so you can diagnose texture bleeding without breaking sprite sheet slicing.