What This Tool Does
Drop a sprite sheet and it comes apart into frames. The cell size is measured from the sheet itself rather than typed in, the frames play back as an animation so you can check the order before committing to anything, and the whole set downloads as a ZIP of numbered PNGs.
How the Grid Is Found
The tool collapses the sheet onto each axis: for every column it asks whether any pixel in that column is opaque, and likewise for every row. That produces two profiles of alternating full and empty stretches. The empty stretches are the gutters, and once their positions are known the cell size, the outer margin and the spacing all follow.
The detection refuses rather than guesses when the measurements disagree. If the cell widths vary by more than a pixel, or the gutters are unevenly spaced, no grid is reported — a wrong grid stated as fact costs more than an empty field, because you would trust it.
Correcting the Grid
| Control | What it does |
|---|---|
| Cell width / height | The size of one frame, in pixels |
| Columns / rows | The same lattice expressed as counts — editing these updates the cell size |
| Margin X / Y | The blank border before the first cell |
| Spacing X / Y | The gap between neighbouring cells |
The leftover warning below the form reports unused pixels on the right and bottom edges. Zero leftover on both axes usually means the numbers are right.
Selecting Frames
Sheets often hold several animations, one per row. The row buttons isolate a single row; the range inputs narrow to an explicit span of frames; and clicking any thumbnail toggles that frame on or off. The "skip empty" button switches off every frame with no opaque pixels at all, which is the usual state of the last row on a padded sheet.