Images to Sprite Sheet Generator
Pack multiple images onto one canvas with a shelf bin-packing layout, then export a JSON atlas and CSS.
Drop images or click to browse
PNG, JPG, WebP, SVG — select multiple files. Processed entirely in your browser.
No images loaded yet.
How the Images to Sprite Sheet Generator works
A sprite sheet packs many separate images onto a single canvas so a game engine, canvas renderer, or browser makes one texture load instead of dozens of individual requests. This tool uses a shelf bin-packing algorithm — it sorts your images tallest-first and greedily fills horizontal rows up to your chosen max width, starting a new row whenever the current one would overflow. That keeps packing density high even when your images are very different sizes, unlike a plain horizontal or vertical strip.
Drop in your images, reorder them by dragging rows (or the ↑/↓ buttons), set a padding value to leave a transparent gutter around each frame (this prevents neighboring frames from bleeding into each other when a GPU samples the texture with filtering), and optionally round the sheet dimensions up to the nearest power of 2 — a common requirement for older graphics hardware and some game engines. Click Generate sprite sheet to render the combined PNG, then export a JSON atlas in the widely-supported TexturePacker frame format (for Pixi.js, Phaser, Cocos2d, and similar engines) or ready-to-use CSS classes with background-position offsets for web/UI icon sprites — everything runs on a canvas in your browser, no files are uploaded anywhere. For single-image resizing before building a sheet, try the Image Resizer.
Private & free — this tool runs entirely in your browser.