A free, browser based spritesheet tool for game devs and artists who want to move fast.
Built, maintained, and written by Dennis Postma· Last updated August 2026
One tool that turns loose PNGs, a frame folder, or a GIF into a packed sheet with a JSON atlas. Free, in the browser, no account.
A weekend utility for a game jam in April 2025, built because packing frames by hand in an image editor kept eating the last hours before submission.
Vue 3, TypeScript, and Tailwind on a canvas. Packing, trimming, and export all run client side, so your art never touches a server.
Drag and drop upload, a configurable grid, and an animation preview with adjustable speed. Enough to stop hand-placing frames in an image editor, and nothing else.
A pixel editor arrived for frame level fixes, optional accounts made saved projects possible, and dropping an animated GIF started offering to extract it into frames.
Phaser, PixiJS, and Tiled exports landed, splitting gained explicit row and column counts, and the recolor tool turned one character into a family of variants.
Combine, separate, and crop, with undo and redo extended to cover dragging and layers. Cell padding followed, then a transform-handle resize tool and WebP in both directions.
Attaching an atlas file to the importer meant a packed sheet could be sliced by its own metadata instead of guessed at, rotated frames included.
Sparrow XML gained animation naming for FNF and Starling, the blog became a structured guides section, and packed atlases can be forced to an exact size and rearranged by hand.
Every release is listed in the changelog, which is generated from the same file these milestones were taken from.
Sign-in exists only to save projects to the cloud. Every tool, every export format, and every guide works with no account at all, and that is not going to change into a gate later.
Packing, decoding, and encoding all run in your tab. It rules out features that need a render farm, and it also means no art of yours sits on a disk somebody else administers.
This is a tool for arranging and exporting sprites you or your artist made. There is no model in here inventing frames, and no plan to add one.
The pixel editor is for fixing a frame in place, not for drawing a character from nothing. Aseprite and its peers are better at that and are worth the money.
Maintainer and author
Builds 2D games in Godot and Unity, runs the browser MMORPG Noxious, and has packed enough broken sheets to know where the seams show up. Writes every guide on this site.
No paywalls, no premium tier, no export watermark. The whole tool, at no cost.
Your frames stay in the tab. No server, no account, no analytics on your art.
Export PNG, JSON, GIF, and ZIP, ready to drop straight into Godot, Unity, or Phaser.
Padding, trim, and onion skinning all came from feedback, not a roadmap.
Worth writing down, because a free tool with no company behind it invites a fair question about whether it will still be here next year. The answer is in the shape of the thing: almost all of it is static files and code that runs in your browser, which is the cheapest kind of software to keep alive.
| Layer | What it uses | Why |
|---|---|---|
| Interface | Nuxt 4, Vue 3, TypeScript | Server rendered content pages for crawlers and shareable links, with the editor hydrating into a normal client side app once it loads. |
| Styling | Tailwind CSS 4 | One utility layer instead of a stylesheet nobody dares delete from. The comic panel look is a handful of custom classes on top of it. |
| Packing and export | Hand-written TypeScript on canvas | MaxRects bin packing, trimming, atlas writing, and every engine format are plain functions in the bundle. No service call, so they work offline once the tab is open. |
| GIF encoding | gif.js in a web worker | Encoding a long animation blocks a thread for seconds. Putting it in a worker keeps the editor responsive while a GIF is written. |
| Optional accounts | PocketBase | A single small backend for saved projects, the gallery, and the contact form. Nothing about the editor requires it to be up. |
| Hosting | Static output behind Caddy | The content pages are prerendered files. That keeps hosting cheap enough that the free tool does not need a paid tier to survive. |
Advertising on the content pages covers the hosting and the domain. Ads run on pages like this one, the guides, and the feature pages, and they are kept off the editor entirely, because an ad slot next to a canvas you are dragging sprites around on would be a bad trade for everyone.
There is also a Ko-fi page for anyone who wants to chip in, and it is genuinely optional: nothing is unlocked by it and no feature is held back for it. What it buys is time, since the alternative funding model for a tool like this is a subscription, and a sprite packer is not worth a monthly bill.
Bug reports, feature requests, and corrections all land in the same inbox: [email protected], or use the contact form. Fixes ship in the changelog.
Ready to make your first sheet?