ToolPkg

Split a sprite sheet back into frames

A sprite sheet unpacker does the opposite of a packer: it cuts one combined sheet back into the individual sprite or animation frames. Upload your sheet and either provide its atlas JSON or set a grid, then download every frame as a separate PNG — all in your browser.

By atlas JSON or by grid

If you have a Phaser, Aseprite or TexturePacker JSON, the unpacker extracts each named frame at the exact coordinates and keeps the original names. No metadata? Grid mode splits an evenly laid-out sheet by rows and columns or by tile size.

Free, private, no upload

Everything runs locally in your browser — no sign-up, no watermark and no file limit, and your sheet never leaves your device. The extracted frames are packed into a single ZIP for download.

Frequently asked questions

How do I split a sprite sheet into individual images?

Upload the sheet, choose grid mode (set rows and columns or tile size) or atlas mode (upload the matching JSON), and export — each frame downloads as a separate PNG inside a ZIP.

Can it keep the original frame names?

Yes. In atlas mode the tool reads a Phaser, Aseprite or TexturePacker JSON and names each extracted PNG after its frame, so the sprites match your metadata.

Which atlas JSON formats are supported?

Phaser / PixiJS JSON (Hash), Aseprite JSON and TexturePacker JSON-Array are all supported — both object and array frame layouts.

Is the sprite sheet unpacker free?

Yes, completely free with no sign-up, no watermark and no limit on sheet size or frame count.

What if I do not have a JSON file?

Use grid mode. If the sheet is laid out on an even grid, set the number of rows and columns (or the tile size) and the tool slices it evenly; you can also skip fully transparent cells.

Are my images uploaded to a server?

No. Unpacking runs locally in your browser, so your sprite sheet stays on your device.