Skip to main content

Free · runs in your browser · nothing is uploaded

Sprite Sheet Maker

A free online sprite sheet creator: drop in your animation frames, put them in order and get one sprite sheet image, ready for your game engine. Make a sprite sheet from images of any size, preview it playing, and download the PNG with a JSON or XML atlas.

No frames yet? Upload one character image or describe it, and the AI sprite sheet generator animates it: idle, walk, run, jump and attack.Try it →

Make a sprite sheet from images

Add PNG, JPG, WebP or GIF frames. They are sorted by file name (frame_2 comes before frame_10) and you can move or remove any frame. Frames of different sizes are centred in equal cells with their bottoms lined up, so a character’s feet stay on the ground line while it animates.

Sprite sheet layout and size

Lay frames out horizontally (one row), vertically (one column) or as a grid with as many columns as you like, and add padding between cells if your engine bleeds neighbouring pixels. Tick pixel art to keep hard edges whenever frames are scaled.

Use it in Unity, Godot, GameMaker and Phaser

The JSON atlas is the TexturePacker “JSON (Hash)” format: Phaser loads it with load.atlas, and Unity, Godot and PixiJS importers read it too. For a fixed grid you only need the PNG and the cell size shown under the preview.

VRChat emoji sprite sheets (1024×1024)

The VRChat preset builds the 1024 × 1024 sheet VRChat expects for animated emoji: a 2×2, 4×4 or 8×8 grid depending on how many frames you have, read left to right and top to bottom. The download is named like wave_14frames_20fps.png so VRChat picks up the frame count and speed on upload.

PNG + JSON, or XML for FNF

Friday Night Funkin’ and HaxeFlixel use Sparrow XML atlases. The XML download names each frame with your animation name and a 4-digit index (idle0000, idle0001…), the way FNF groups frames into an animation.

Questions

What is a sprite sheet?

A sprite sheet is one image that holds every frame of an animation (or many small images), laid out in a row or a grid. Games load the single image once and show one frame at a time, which is faster than loading every frame as its own file.

How does a sprite sheet work?

The game engine knows where each frame sits on the sheet, either from a fixed grid (every cell the same size) or from an atlas file such as JSON or XML that lists each frame’s x, y, width and height. It then draws those rectangles one after another at the animation’s frame rate.

How do I make a sprite sheet?

Drop your frames into the sprite sheet maker above, put them in order, pick a horizontal, vertical or grid layout, and download the PNG. Add the JSON or XML atlas if your engine wants one. It is free and runs in your browser.

What size should a sprite sheet be?

Each cell is as big as your largest frame, so the sheet is that size times the number of columns and rows, plus any padding. Keep sheets under 4096 × 4096 for older devices. VRChat emoji sheets are always 1024 × 1024.

Can I make a VRChat emoji sprite sheet?

Yes. Choose “VRChat 1024²”: frames go into a 2×2, 4×4 or 8×8 grid (up to 4, 16 or 64 frames) on a 1024 × 1024 sheet, and the file is named with the frame count and FPS, which VRChat reads when you upload it.

Can AI make a sprite sheet for me?

Yes. If you don’t have frames yet, the AI sprite sheet generator on our homepage turns one character image or a short description into idle, walk, run, jump and attack animations, exported as a PNG sheet with a JSON atlas.

Is this sprite sheet maker free?

Yes, with no sign-up and no watermark. Your images never leave your device: the sheet is built in your browser.