Packing sprites
Drop in PNG files, a whole folder or a ZIP of them. Each sprite is trimmed of see-through edges, sorted, and placed with the MaxRects method (best short side fit), which puts each sprite in the free space it fills most snugly. The atlas is made as small as it can be; if the sprites do not fit in the Largest atlas size, the rest go on a second page, and more as needed. Padding leaves empty pixels between sprites, and Extrude repeats each sprite's edge pixels outward, which stops neighbours bleeding in when a game scales or filters the atlas. The preview outlines every sprite and says how much of the atlas is used.
The data file
Download ZIP gives the atlas PNG and its data. JSON hash and JSON array are the two TexturePacker layouts that Phaser, PixiJS and most engines read, with the trimmed offset and original size of each sprite. Godot lists each sprite's region and margin, the two values an AtlasTexture takes. CSS writes a class per sprite with its background position; turn off trim and rotation for it, since a web page cannot undo either. Plain grid ignores the packing and lays every sprite in equal cells, for tools that only slice grids.
Splitting a sheet
Choose Split a sheet and drop in a sprite sheet. Grid cuts it by columns and rows, or by cell size, with the margin around the edge and the spacing between cells. Auto-detect finds each island of non-transparent pixels and cuts round it, which suits sheets packed by hand; it needs a see-through background. Frames are read left to right, top to bottom, and play in that order in the animation preview. Download frames ZIP saves each as its own PNG.
Questions
Is it compatible with TexturePacker files?
The JSON hash and JSON array files use the same fields as TexturePacker's generic JSON export: frame, rotated, trimmed, spriteSourceSize and sourceSize. Phaser's load.atlas and PixiJS's Spritesheet read them. It does not open .tps project files.
How does rotation work?
With Allow rotation on, a sprite may be turned 90° clockwise when that packs tighter, and its entry says "rotated": true. Your engine has to support that; leave it off if you are not sure.
Are my sprites uploaded?
No. Files, folders and ZIPs are read in this page on your device, and the atlas is drawn here too.
Why are some frames missing when I split by grid?
Cells with no visible pixels are skipped while Skip empty cells is on. Turn it off to keep every cell, so frame numbers match grid positions.