framecraft.
Works locallyHow it works

IMAGES IN. SPRITE SHEET OUT.

Sprite Sheet Generator

Your images. One clean sheet.
PNG + JSON · No account needed

01 Your frames

One set of images → one sheet. New selections replace the set.

02 Sheet layout

All sizes in pixels
Cell size & file name

Auto uses the largest scaled frame. Images are centered; custom cells must fit every frame.

Add your images to calculate the sheet size.

Press Enter to generate · Images stay on your device

03 Preview & export

Waiting for frames
Transparent PNG

A place for your frames.

Choose your images, set the layout,
then generate your sprite sheet.

Sheet size
—
Frames
—
Grid
—
Background
Transparent
Frame coordinates
Generate a sheet to see its JSON atlas.

PNG image + JSON coordinates, ready for your project.

THE SMALL PRINT, MADE CLEAR.

From individual images
to one usable sheet.

A free sprite sheet maker for existing artwork. Also called a spritesheet generator or spritesheet maker, it arranges your frames into a regular grid.

01 / INPUT

Bring your own frames

Use still PNG, JPG or WebP images. Each file is one frame; existing sheets are not sliced. Up to 256 files, 10 MB each and 50 MB per set. Animation files are not expanded into frames.

02 / LAYOUT

Predictable, pixel by pixel

Frames follow the visible list, left to right, then top to bottom. Cells use the largest scaled image by default. Smaller images are centered with whole-pixel offsets. Scale uses nearest-neighbor rendering. Gaps and margins stay transparent.

03 / OUTPUT

The image and the map

Download a lossless PNG and copy or download its JSON atlas. Coordinates describe each image rectangle and its grid cell. Empty cells remain transparent. The checkerboard is only a preview; existing backgrounds are preserved.

04 / HOW IT WORKS

Everything happens here

Your browser reads the files and draws them onto a canvas. No sign-in, server upload, AI artwork generation or saved history. Refreshing clears the session. Outputs are limited to 8,192 px per side and 32 million pixels; input decoding is limited to 32 million pixels per set.