Free Runs right in your browser
Sprite Sheet Maker
Pack animation frames, icons or tiles into a single sprite sheet. Export a PNG plus JSON frame data for your game engine.
✓ No upload, 100% private✓ No sign-up✓ Works on phone & desktop
Built for game developers
A sprite sheet puts every frame of an animation into one image, so the game loads one file instead of dozens. All frames sit in a regular grid of equal cells, which every engine can slice: Unity's Sprite Editor (Grid by Cell Size), Godot's AnimatedSprite2D, GameMaker, Phaser, Pygame and others.
Settings explained
- Columns sets the grid width. For a single-row strip, use the number of frames.
- Spacing adds empty pixels between cells. One or two pixels prevents "texture bleeding" when the sheet is scaled.
- Trim transparent edges removes empty borders before packing, so frames sit tightly in the cell.
- Bottom center alignment keeps characters standing on the same ground line in every frame.
- Pixel art turns off smoothing so pixels stay crisp when frames are scaled to a fixed cell size.
The JSON file
The JSON uses the common "hash" layout (frames → frame, spriteSourceSize, sourceSize) that Phaser, PixiJS and many other tools can read. It also lists the grid's columns, rows and cell size.
Need to go the other way? The sprite sheet cutter splits a sheet back into frames.
Frequently asked questions
Quick answers about the sprite sheet maker tool.
In which order are frames placed?
Left to right, then top to bottom, in the order of the list. Files are sorted by name with numbers sorted naturally (2 before 10). You can also reorder them with the arrows.
Do my frames need the same size?
No. Each cell is as large as the biggest frame, and smaller frames are aligned inside it. You can also set a fixed cell size.
Is there a size limit?
Most browsers can create sheets up to about 16,000 pixels per side. For very large sets, use more columns or a smaller cell size.
Can I make a texture atlas with tightly packed sprites?
This tool makes regular grids, which are easiest to use for animations. Tightly packed atlases need a dedicated packer.