Sprite Sheet Generator
Drop your animation frames or an animated GIF and get one packed sprite sheet, with the files Phaser, PixiJS, Godot and Unity import. Free, no sign-up, and your images never leave your device.
Drop your frames or a GIF here
PNG, JPG, WebP or animated GIF. Frames are packed in name order.
Runs entirely in your browser. Your frames are never uploaded.
Generate them from one character image
Ludo's Sprite Generator animates a single sprite from a motion prompt or a preset motion and gives you the sprite sheet directly. Then bring the sheet back here, or download it for your engine from Ludo.
- Upload a character image, or create one in Ludo
- Describe the move, or pick a preset: walk, run, attack, idle and more
- Set the frame count, sprite size and looping, then download the sheet PNG, with JSON, as a GIF or as single frames
What is a sprite sheet generator?
A sprite sheet generator packs the frames of an animation into one image laid out in a grid, so a game engine loads a single texture and plays the frames in order. This one runs in your browser: it centres frames of different sizes in equal cells, keeps transparency, and writes the atlas files each engine reads, with the same code as the open-source Ludo CLI toolbox. To create the frames themselves, Ludo's Sprite Generator animates a character image into a sprite sheet.
Animations generated with Ludo
Each of these started as one static image. The motion is generated.
Ludo lives where you build
Every generator in your terminal, your AI agent, your own code and the Unity editor. One account, one set of credits.
Explore developer toolsnpm install -g @ludoai/cliMCP serverAny MCP client, including assistants that can't run commands.https://mcp.ludo.ai/mcpREST APIYour own app, game server or pipeline.https://api.ludo.ai/api/Unity pluginGenerate and import assets inside the Unity editor.How to make a sprite sheet
Drop your frames
PNG, JPG or WebP files, taken in name order (walk-2 before walk-10), or an animated GIF, which is split into its frames at its own frame rate.
Set the layout
Choose frames per row, the frame rate and the play order: as is, reversed or ping-pong. The preview plays the animation the way your engine will.
Download for your engine
The PNG alone, or a ZIP with the PNG and a TexturePacker JSON atlas for Phaser and PixiJS, a Godot 4 SpriteFrames .tres, or a Unity .png.meta that slices the sheet plus an .anim clip.
FAQ
Yes. The packer is free, needs no account, and has no limit on how many sheets you make. It runs in your browser, so your frames are never uploaded to a server.
Drop the GIF on the packer. Every frame is extracted the way browsers play it, including GIFs that only redraw part of each frame, and the frame rate comes from the GIF's own delays. GIF has 1-bit transparency, so soft edges arrive hard-edged.
Each frame is centred in a cell the size of the largest frame, so the sheet stays a regular grid and the animation does not jump. For a character, trim and align the frames before packing so the feet stay on one line.
Download for Phaser / PixiJS. Load the PNG and JSON with this.load.aseprite(key, pngUrl, jsonUrl), then create the animation with this.anims.createFromAseprite(key). this.load.atlas also reads the JSON if you only need the frames.
Download for Phaser / PixiJS and load the JSON with Assets.load. The animation's frames are in sheet.animations under the name you gave it, ready for an AnimatedSprite.
Download for Godot 4 and copy the PNG and the .tres into your project side by side. Set the .tres as the Sprite Frames of an AnimatedSprite2D: the animation is called default and loops at the frame rate you chose.
Download for Unity and copy the PNG, its .png.meta and the .anim into your project's Assets folder together. Unity imports the sheet sliced into one sprite per frame at 100 pixels per unit, and the .anim clip plays them on a SpriteRenderer.
Up to 400 frames and 64 megapixels in total, which covers long animations at 512x512. Larger jobs are better done with the command-line version below.
Yes. The same packing and engine export are in the free Asset Toolbox of the Ludo CLI: ludo toolbox sprite join <frames> --engine godot (or unity, or texturepacker). It is open source (MIT), works offline and needs no account.
Yes. Ludo's Sprite Generator animates one character image from a motion prompt or a preset motion, up to 5 seconds long. You set the frame count, sprite size and looping, and download a sprite sheet PNG, the sheet with JSON, a GIF, a video or individual frames.
Experience the future of game creation
Free to try. No credit card required.