Image tools

Sprite sheet maker

Pack several images into one sprite sheet with a JSON frame index, on your device.

Runs on your device. The file is never uploaded.

Sprite sheet maker packs your images into a uniform grid in the order you dropped them and returns sprite-sheet.png beside a JSON frame index. The index gives each frame's original file name and where it sits in the sheet. Cells are 128 pixels square by default. That index is printed on the page and never written out as a file.

Input

Options

Questions

What do I get out of it?

Two things: a PNG called sprite-sheet.png with your images packed into a grid, and a JSON frame index shown in the text panel on the page. The JSON lists the sheet width and height, the cell size, the column count, and one entry per frame with its original file name and its x, y, width and height in the sheet. Copy it from the panel; it is not written as a separate file.

How is the grid laid out?

As a uniform square grid. Square cell size in pixels, default 128, applies to every frame, and Grid columns is blank by default, which means the tool picks the ceiling of the square root of the file count for a roughly square sheet. Frames are placed in the order you dropped them, left to right then top to bottom.

Will my sprites be distorted?

They will if they are not square. Every image is resized to exactly the cell size in both directions, so a 64x128 sprite is squashed into a square cell. There is no aspect-preserving fit, no padding and no trimming of empty space, and no tight packing of different sized frames. Prepare square source images for a clean sheet.

Is the background transparent?

Yes. The sheet starts as a fully transparent buffer and is encoded as lossless PNG, so any gaps in the last row and any transparency inside your sprites survive. JPG inputs are opaque by nature and will fill their cell completely.

How many images do I need, and is anything uploaded?

At least two, otherwise the run stops with "image-sprite-sheet needs at least 2 images, got 1". Only JPG, PNG and WebP are read, matched on file extension. Every step, from decoding to packing to PNG encoding, runs in a Web Worker on your device with nothing uploaded.

Related Image tools