Sprite sheet generator
Pack frames or a GIF into a game-ready sprite sheet
Drop a walk cycle, idle strip, or GIF. Sprite Tools packs a PNG atlas plus TexturePacker or Phaser JSON in this tab, then lets you preview the clip at FPS before you drop the files into Phaser, PixiJS, Unity, or Godot. Your game art never leaves your device.
What a sprite sheet is
A sprite sheet (also called a texture atlas) is one PNG that holds every frame of an animation. The game engine crops one cell per tick instead of loading twenty separate files. That is why Phaser, PixiJS, Unity, and Godot all want a packed sheet plus a JSON or grid size that says where each frame lives.
This page is a sprite packer, not an AI that draws characters. You bring the frames — numbered PNGs from Aseprite, Piskel, or a camera, or a GIF you already have — and the browser lays them into a strip, a uniform grid, or a packed atlas for mixed sizes.
GIF to sprite sheet
Drop one GIF on the dropzone. The tab extracts every frame, packs them, and plays the clip at the FPS you set. Use that when you have a looping GIF and you need an atlas the engine can slice. If you still need to reverse or compress the GIF itself, use GIF Tools first, then pack the result here.
How I name clips
Prefixes become animation names. walk_0.png, walk_1.png, and idle_0.png pack as two clips: walk and idle. A GIF has no prefixes, so it becomes one clip named default. Keep every frame in a clip the same pixel size if you will import as a Unity or Godot grid. Mixed sizes belong on the packed-atlas layout with TexturePacker JSON.
Engine import
Phaser 3 and PixiJS: download the PNG and the TexturePacker JSON (or the Phaser JSON array). The homepage copies a Phaser 3 snippet after you pack. Unity: Sprite Mode Multiple, Grid By Cell Size using the cell width and height printed under the sheet. Godot 4: slice the atlas by the same cell. Transparent edges can be trimmed in the packer so the character does not hop between frames.
Photos that still have a studio backdrop should go through Cutout first. Then drop the transparent PNGs here. This packer does not invent pixels or redraw the character.
FAQ
- What is Sprite Tools?
- Sprite Tools is a free sprite sheet generator. It packs animation frames or a GIF into one PNG plus TexturePacker or Phaser JSON in your browser.
- Are my sprites uploaded?
- No. Frames are decoded and packed in your browser. The PNG and JSON are built in memory and downloaded locally. We do not receive the files.
- Which game engines can load this?
- Phaser and PixiJS load the TexturePacker JSON with the PNG. Unity and Godot import the PNG as a grid using the cell size shown after packing.
- How do walk and idle clips work?
- Name files walk_0.png, walk_1.png, idle_0.png. The prefix becomes the animation clip. A GIF becomes one clip named default.
- Can I turn a GIF into a sprite sheet?
- Yes. Drop a GIF on the page. Each frame is extracted in the tab, packed into a sheet, and previewed at the FPS you set.
- Do I need to remove backgrounds first?
- Transparent PNGs pack as-is. For photos, cut the subject out first with Cutout at https://images.sw-commercial.com/cutout, then drop the transparent frames here.
- Do I need an account?
- No. Open the page and start. Packing does not require a login.
Updated 6 September 2026
What is Sprite Tools?
Sprite Tools is a free sprite sheet generator that packs PNG frames or a GIF into a game atlas in your browser.
- The packer runs in your browser. There is no upload API.
- Your game art stays on your computer.
- You do not need an account.
- A GIF becomes one clip named default. Filename prefixes become separate clips.
How to use it
- Drop PNG frames named walk_0, walk_1, idle_0, or drop one GIF.
- Choose a strip, grid, or packed layout, then pack the sheet.
- Preview the clip at FPS and download PNG plus TexturePacker or Phaser JSON.