Sprite sheets and tilesets pack many small images into one file. Most engines can slice them internally, but sometimes you just need each sprite as its own PNG — for a different tool, an asset library, or a quick edit. Here's the fastest way to cut a uniform sheet into individual tiles.
When this works well
This method is for sheets laid out as a uniform grid — every cell the same size, evenly spaced. That covers most character animation strips, icon sheets, and tilesets. Sheets with irregular, tightly-packed sprites of different sizes need a dedicated packer instead.
Split the sheet
- Open the Image Splitter and upload your sprite sheet or tileset (PNG keeps transparency — use it).
- Count the grid: how many columns across and rows down. A 256×256 px sheet of 64×64 tiles is 4 columns × 4 rows.
- Enter those numbers, split, and download all tiles as a ZIP.
Each tile comes out the same pixel size, named by its row and column so the order is easy to follow.
Keep transparency intact
If your sheet already has transparency, always start from a PNG, not a JPG — JPG has no alpha channel and will fill your transparent areas with white.
Generating a sprite sheet with AI? Prompt for clean cutouts
AI image tools don't output transparent PNGs — everything they draw sits on a background. So the trick is to ask for a background that's easy to remove afterwards, and for sprites with edges the slicer and the background remover can read cleanly. When you write the prompt:
- Ask for a flat, uniform background in a contrasting colour. A solid, evenly-lit background — plain white, or a "green-screen" colour that doesn't appear in your sprites — is far easier to knock out than a textured or gradient one. Example: "…on a flat solid #00FF00 green background, no shadows, no gradient."
- Demand clear, separated element boundaries. Ask for each sprite to have a crisp, well-defined outline and even spacing between cells, with none of them touching or overlapping. Blurry or merged edges are what make cutouts look ragged.
- Ask for an even grid (2×2, 3×3, 4×4) so the tiles line up for slicing.
Then the workflow is: generate the sheet → split it by rows and columns → turn on background removal so each tile comes out on transparency, tightly cropped to its content. A clean background colour and sharp edges in the source make that last step look almost perfect.
Figuring out rows and columns from tile size
If you know the tile size but not the grid count, divide:
- Columns = sheet width ÷ tile width
- Rows = sheet height ÷ tile height
For a 512×384 px sheet with 64×64 tiles: 512÷64 = 8 columns, 384÷64 = 6 rows.
FAQ
My tiles are off by a few pixels. Why?
The sheet probably has spacing or padding between tiles, or a margin around the edge. Uniform slicing assumes no gaps — trim the margins first, or use a sheet without padding.
Does it keep the transparent background?
Yes, as long as the source is a PNG with an alpha channel.
Can I slice a tileset for Unity, Godot, or Tiled?
Yes — the individual PNGs import into any engine. That said, engines like Unity and Godot can also slice a single sheet internally, which is often more convenient if you're staying in one tool.