Slice, pack and convert
sprite sheets in your browser.
A free sprite sheet packer, slicer and converter that runs right here on this page. Cut a sheet into frames, pack frames into a sheet, turn a GIF or a video into a sheet — or a sheet into a GIF — and download the data files your engine wants beside it. No account, no credits, no watermark, and your files never leave your device.
Sprite Sheet Toolkit
Nothing to slice or pack yet? AnnoMotion's AI generators make the frames for you: Spritesheet Generator or VFX / Particle Sprite Sheets.
What it does
Four jobs, one page.
Everything that happens to a sprite sheet between the art package and the engine — cutting one up, putting one together, changing its format, and writing the data file that tells your engine where each frame is.
Slice a sheet into frames
A sprite sheet cutter — or splitter, if that is the word you use. Load a PNG, WebP or JPG and cut it by columns and rows or by cell size, with an offset and spacing for margins and gutters. On a transparent sheet it can read the grid for you and find sprites that were never on a grid. Preview the animation, then download the frames as a zip of PNGs.
Pack frames into a sheet
Add your frame images and they are ordered by filename the way a person would order them, then reorder them by hand if you need to. Pick the columns and the padding, trim every frame to the bounds they share, make the sheet power-of-two if your engine prefers it, and download one PNG.
Convert GIFs and video
Turn an animated GIF into frames or a sheet. Pull frames out of a video your browser can play — MP4 and WebM, typically — and pack those. Or go the other way and export a sheet as an animated GIF to share.
Name the animations, export for your engine
Mark ranges of frames as named clips, each with its own frame rate and loop setting — or make one clip per row in a single step. Then download the sheet with the data files to go with it, together in one zip.
Also in the box: make one solid background colour transparent, for a sheet that was exported on a flat colour instead of on transparency — which is also what lets the grid and the sprites on it be detected.
How it works
Load it, check it, download it.
Choose your files
A sprite sheet, a set of frame images, an animated GIF or a video. Your browser reads them where they are — nothing is sent anywhere.
See that the cut is right
Set the columns and rows — on a transparent sheet the grid can be detected for you — and put the frames in order. The preview plays the animation as you go, and you can name ranges of frames as animations if your engine wants them.
Take what you need
One zip with the sheet and the data files for your engine — or just the sheet as a PNG, the frames as a zip of PNGs, or an animated GIF. The file name, the columns and padding of a packed sheet, and which engine files go in are under More options.
Want it step by step? Read the Sprite Sheet Toolkit guide.
Built for
Anyone with frames in the wrong shape.
A sheet when you need separate frames, separate frames when you need a sheet, a GIF when you need either — and an engine that wants a data file none of them came with.
Sheets you bought or downloaded
An asset pack rarely says what its frame size is. On a transparent sheet, let the grid be detected, check it against the preview, and cut the sheet into the frames your engine wants.
Frames exported one by one
Your art package wrote out walk_01.png to walk_12.png. Add them all, keep the order the filenames imply, and get one sheet back.
A GIF that should be a game asset
Split an animated GIF into frames or straight into a sheet, so it can be imported like any other sprite animation.
Reference footage
Pull frames out of a short video clip to use as an animation reference or as the frames themselves.
Sprites on a web page
Pack icons or animation frames into one image and take the CSS sprite stylesheet that goes with it.
Showing your work
Turn a finished sheet into an animated GIF for a devlog, a store page or a message to a teammate.
Pricing
Free — no account, no credits, no catch.
The toolkit runs entirely in your browser, so there is nothing to meter and nothing to sign up for. Use it as often as you like; your files stay on your machine the whole time.
No account, no credits
Slicing, packing, converting and exporting cost nothing and need no sign-in. There is no allowance to run down and no charge to download.
Nothing uploaded
Your images, GIFs and videos are read and processed by your browser on your own device. They are never sent to us, and we keep no copy of what you make.
Yours, no watermark
Nothing is added to your frames or your sheet and we make no claim on them. Art you already own stays yours to ship, and frames from our AI generators are yours to use commercially — in games you sell, client work and marketing — with or without a plan.
The limits are the browser's, not a paywall's: a sheet of up to 4096 × 4096 pixels in area and 8192 pixels on a side, up to 1024 frames, and — for separate frames, GIFs and video — frames of up to 2048 pixels a side.
Need the frames first?
The toolkit arranges frames. These make them.
If you have nothing to slice or pack yet, AnnoMotion's AI generators produce the sheet for you — and a sheet they make can be loaded here like any other, to be re-cut, re-packed or exported for another engine. They are AI tools and spend credits; the toolkit stays free either way.
Spritesheet Generator
Start from one character image. It is animated into a short clip — walk, idle, attack, jump or run — and sliced into a transparent, multi-frame sprite sheet for you.
VFX / Particle Sprite Sheets
Describe an effect — an explosion, smoke, magic, sparks — and it is rendered, animated through its full cycle and baked into one transparent sprite sheet plus a PNG sequence.
FAQ
The Sprite Sheet Toolkit, answered.
Is the Sprite Sheet Toolkit really free?
Yes. Slicing, packing, converting and exporting all run in your browser, so there is nothing for us to meter — no credits, no account and no watermark, however many sheets you make. The AI generators elsewhere on AnnoMotion do spend credits; this toolkit does not.
Do I need to sign up to use it?
No. The toolkit on this page works without an account. If you already have one, the same toolkit is also in your dashboard.
Are my images uploaded anywhere?
No. The files you choose are read by your browser and processed on your own device. They are never sent to our servers, and nothing you make here is stored by us — so download your sheet or your frames before you close the tab.
How do I split a sprite sheet into separate frames?
Load the sheet as a PNG, WebP or JPG — or a GIF that holds a single image; an animated PNG or WebP is read as its first frame only — then give it either the number of columns and rows or the size of one cell — with an offset and a spacing if the sheet has a margin or gaps between frames. On a sheet with a transparent background the toolkit can also detect the grid, find sprites that were not laid out on a regular grid, and drop empty cells; a JPG, or a sheet on a flat background colour, needs that colour made transparent first, which the toolkit can do. When the toolkit is not sure of the layout it shows its best guess and leaves it to you to apply. You can preview the animation, and the frames download as PNGs in one zip.
How do I pack separate images into one sprite sheet?
Add your frame images. They are ordered by filename in natural order — frame2 before frame10 — and you can reorder them. Choose the number of columns and the padding, optionally trim every frame to the bounds they share and make the sheet power-of-two, then download it as a PNG. The packer lays frames out on a uniform grid of equal cells; it does not fit differently sized rectangles together the way a tight atlas packer does.
Can I convert a GIF to a sprite sheet, or a sprite sheet to a GIF?
Both. An animated GIF can be split into frames or packed straight into a sheet, and a sheet can be exported as an animated GIF. A GIF too long for one sheet can keep every second (or third…) frame, or be scaled down, and be put back as it was. A GIF that holds a single image opens as a sprite sheet instead, ready to slice. GIF is an old format with real limits: at most 256 colours in a frame, and each pixel is either fully transparent or fully opaque. A sprite with soft, semi-transparent edges will look rougher as a GIF than it does as a PNG sheet. GIF timing is stored in hundredths of a second, and a GIF whose frames have different lengths is read at its average speed.
Can I turn a video into a sprite sheet?
Yes, if your browser can play the video. The decoding is done by the browser itself, so which formats work depends on the browser you are using — MP4 and WebM are the usual ones, and a file your browser cannot play cannot be converted. The frames can be downloaded on their own or packed into a sheet. Frames are scaled down to 512 pixels on the longest side unless you pick another size, up to 2048 pixels.
Which game engines can it export for?
Beside the sheet you can download, in one zip: a JSON atlas for Phaser and PixiJS (Aseprite's format), a JSON file of sprite rects and pivots for Unity (a reference for the Sprite Editor or an editor script — Unity does not import it by itself), a Godot 4 SpriteFrames .tres resource, GameMaker strips (an animation too long to fit one strip is left out, and the download tells you which), a CSS sprite stylesheet for the web, and a manifest, plus a README. Before you export you can name your animations — a range of frames with its own frame rate (from 0.1 to 60 frames per second) and loop setting — or create one clip per row in a single step.
Can it remove a background colour?
It can make one solid background colour transparent, which is what a sheet exported on a flat colour needs. It is a colour key rather than an AI cut-out, so it suits a single flat colour and not a photograph or a gradient. When the background is one colour — a JPG's included, compression noise and all — the colour and a tolerance wide enough for it are filled in for you; on a pattern or a gradient (a chequerboard, say) the toolkit says so and leaves the colour and tolerance to you. A magenta, green or blue key colour is removed everywhere, including the gaps between a character's legs, unless you choose to remove it only from the edges in. The Trim the edge setting takes a pixel or two more off each sprite if a thin halo of the background is left.
How large a sheet can it handle?
A sheet can be up to 4096 × 4096 pixels in area and 8192 pixels on a side, with up to 1024 frames. A separate frame image, a GIF or a video frame can be up to 2048 pixels a side, with about 64 megapixels of frames loaded at once (half that once a background colour has been removed, because the originals are kept so you can undo it); an image or GIF file can be up to 64 MB and a video up to 256 MB. Everything is held in your browser's memory, and those ceilings keep the result inside what browsers and game engines load reliably.
Does it add a watermark or claim any rights?
No. Nothing is added to your frames or your sheet, and we make no claim on files you process here — what was yours going in is yours coming out.
What if I do not have any frames yet?
Then you need something to make them, and the toolkit does not generate art. AnnoMotion's Spritesheet Generator animates a single character image into a transparent sprite sheet, and VFX / Particle Sprite Sheets does the same for an effect such as an explosion or smoke. Both are AI generators and spend credits; this toolkit is free whether you use them or not.
Your sheet is one scroll away.
Slice it, pack it, convert it and export it for your engine — in your browser, for free, with nothing uploaded. An account is only for the AI generators; the toolkit on this page never asks for one.