🧩 Sprite Sheet Slicer

Upload a sprite sheet arranged in a uniform grid, set the number of rows and columns, and get each tile as a separate downloadable PNG.

Where the cuts fall

The sheet is decoded and sliced on canvases inside this page - it is never uploaded. Nothing is detected automatically: the grid comes purely from the two numbers you type, dividing the full width and height evenly.

tile width  = sheet width  / columns
tile height = sheet height / rows
tile index  = row × columns + column   (0-based, left to right)

A 512×256 sheet at 4 columns and 2 rows gives eight 128×128 frames, saved as tile-0.png through tile-7.png. Tiles are numbered along the top row first, so tile-4 is the leftmost frame of the second row.

What the grid assumes

There is one download button per tile and no zip, so a 16-frame walk cycle is 16 clicks. Transparency survives intact because each tile is written as PNG.

Frequently asked questions

How do I split a sprite sheet into individual images?

Load the sheet, count the frames across and down, and type those two numbers in. The tiles appear immediately as a preview grid, each with its own download link, and they re-cut as you change either figure.

Why do my tiles include bits of the frame next door?

The slicer divides the whole image into equal rectangles, so it cannot cope with a sheet that has spacing between frames or a border around the outside. Crop the border off first and re-export without padding.

Can I download every tile at once?

Not from here - each tile has its own button and there is no archive. For a large sheet, a browser setting that stops asking where to save each file makes the run through them much faster.