What does this tool do?
Game engines want clean sprites: a transparent background, no empty margins, one file per object, and often a sprite sheet with a list of where each frame sits. Images from a drawing app, an AI image generator or an asset pack rarely come that way. This tool does the cleanup in four steps, all in your browser.
| Step | What happens |
|---|---|
| Background | The color at the image corners is treated as background and removed from the outside in, so white inside a character stays white. Click the preview to pick a different color. Images that already have transparency can be kept as they are. |
| Split | One sprite trims the empty margins. Auto split finds every separate object on the image and cuts each one out. Grid cuts an animation strip or sheet into equal frames. |
| Resize | Scale every sprite down to a max side, with sharp pixel-art scaling if you need it, and optional @2x and @3x copies. |
| Export | A ZIP with one PNG per sprite, a packed sprite sheet and a JSON file listing each frame, plus short import notes for your engine. |
Game-ready effects
| Effect | What it is for |
|---|---|
| Pixel art | Turns a drawing or AI image into chunky pixels with a small palette (median cut). Export at the true small size for a pixel art game, or keep the original size with big pixels. |
| Outline | A solid border around the sprite so it stands out on any background. Square corners in pixel art mode. |
| Shadow | A soft oval under the sprite for top-down and side-view games, or an offset drop shadow for UI and cards. |
| Color variants | Hue-shifted copies for teams, enemy tiers or item rarities, exported as extra sprites named _v1, _v2… |
| 9-slice | Border sizes for buttons, panels and dialog boxes so they stretch without blurry corners, plus the nine pieces for engines without built-in 9-slice. |
| Normal map | A _n.png next to each sprite and the sheet, so 2D lights in Unity URP or Godot can light your flat art. |
How do I import the files?
Unity: pick Unity as the engine. The ZIP then has a .png.meta file next to the sprite sheet. Copy both into Assets together and the sheet opens already sliced, with the pivot and pixels per unit you chose. For pixel art the meta also sets Filter Mode to Point and turns compression off. Single sprites in sprites/ work as normal PNGs.
Godot 4: pick Godot. The ZIP has a _frames.tres SpriteFrames file. Put it and the sheet PNG in your project root, add an AnimatedSprite2D and load the .tres. Every sprite becomes a frame of the "default" animation at the fps from the preview. For pixel art set the project's default texture filter to Nearest.
Roblox: images over 1024 px are scaled down on upload, so the Roblox preset caps sprites at 1024. Upload the PNGs as Decals or Images in the Asset Manager.
Tips for clean results
Background removal works best on a flat, single-color background. For AI images, ask for "on a plain white background" or "on a solid green background". If a thin halo of background color stays around the outline, raise the tolerance a little. If parts of your sprite disappear, lower it, or turn off "Also remove enclosed areas".
For a photo, a screenshot or art on a busy background, choose AI (any background). It finds the main object on its own. It works at 512 px inside, so check fine edges like hair and use the Erase and Restore brushes for small fixes.
Auto split treats anything not touching as a separate sprite. If a character's sword or hair comes out as its own sprite, raise "Join parts closer than".
Are my images uploaded?
No. Everything runs on a canvas in your own browser and the ZIP is built on your device. The AI option downloads the model to your browser once and runs it there too. It uses your GPU when it can and falls back to the CPU.