How to Split a Sprite Sheet into Individual Sprites
6 min read · Updated October 2026
A sprite sheet packs dozens of frames into one image, but game engines and editors often need each sprite as its own file — or at least its own region. SpritePilot gives you two ways to split a sheet: automatic detection against a transparent or solid background, and exact grid slicing. This guide covers both, including what every setting actually does.
Open Sprite Detection — free, in your browser, no signup.
Pick the right mode first
At the top of the Sprite Detection tool you’ll find two mode buttons. "Alpha / Background" finds sprites automatically by looking for groups of pixels that stand out from a transparent or solid-color background — ideal when sprites are different sizes or scattered irregularly. "Grid Slice" cuts the image into equal cells by columns and rows, with an optional margin and spacing — ideal for uniform sheets like character walk cycles, where every frame is exactly the same size. Both modes take PNG files only, and the tool remembers which mode you used last.
Method 1: automatic detection (Alpha / Background)
- Queue your images. Drop one or more PNG sprite sheets into the upload area; other formats are skipped with a note, so convert JPG or WebP to PNG first. Each file appears in a queue list, so you can process a whole folder of sheets in one run. If you have nothing handy, click "No sheet handy? Try a sample".
- Tune the Detection Settings. Five settings control the result; each has a slider and a box you can type into, and your values are remembered for next time. "Minimum sprite size" (1–2000, default 100 px²) is the smallest connected piece that counts as a sprite on its own — raise it if dust or stray pixels become sprites. "Merge parts within" (0–16, default 4 px): a smaller piece this close to a sprite becomes part of it, like a detached hand; small pieces that join nothing are left out, and a yellow note says how many. "Padding" (0–32, default 2 px) adds breathing room around each detected sprite. "Alpha threshold" (0–128, default 10): a pixel must be more opaque than this to count as part of a sprite. "Background tolerance" (0–80, default 20) matters on sheets with a solid background: colors this close to the background color count as background.
- Choose background removal, if needed. Detection looks at the outer edge of the image to decide what the background is: transparency, or one solid color. It finds sprites on a solid background by itself, but the cut-out sprites keep that background unless you pick a removal mode. "Flood-fill" is fast with hard edges (great for pixel art) and "Fuzzy edges" keeps soft, partly transparent edges for anti-aliased art; both use the Background tolerance and only remove background connected to the outside of each sprite, so a white eye on a white sheet survives. "AI (rembg)" handles complex backgrounds at about 2 seconds per sprite, for up to 64 sprites per sheet. Leave it on "None" for sheets that already have transparency.
- Detect and review. Click "Detect Sprites". Each queued file processes in turn, and results appear as a grid of extracted sprites with their sizes, numbered across all files. Click sprites to tick them, then use "Include" or "Exclude" to choose which ones the "ZIP" button (or "Save to Folder", in browsers that support it) downloads. Changed your mind about a setting? Adjust it and click "Re-detect All" — the whole queue reprocesses with the new values.
Note: Privacy note: Alpha / Background mode processes your image on the SpritePilot server, and the upload is deleted automatically within 24 hours. It takes PNGs up to 50 MB and 40 megapixels and returns at most 1,024 sprites per sheet. If you’d rather keep everything on your device, or you’re offline, use Grid Slice — like every other SpritePilot tool, it runs entirely in your browser.
Method 2: exact cuts (Grid Slice)
- Upload one sheet. Switch to "Grid Slice" mode and drop in one PNG. A preview appears below the upload area.
- Set the grid. Enter "Columns" and "Rows" (1–64 each). If the sheet has an empty border around the whole grid, enter it as "Margin (px)"; if there are gaps between frames, enter them as "Spacing (px)" (0–512 each, default 0). The line below shows each cell’s size and the number of cells. A yellow "left over" warning means the grid doesn’t use the whole image, usually because the margin or spacing is missing or wrong: a 142×74 sheet of 4×2 coin frames reads 35×37 with both at 0, and a clean 32×32 with margin 4 and spacing 2.
- Slice. Leave "Skip empty (fully transparent) cells" ticked to drop unused slots, such as the end of a part-filled last row. Click "Slice into N cells": every remaining cell becomes a sprite, in reading order (left to right, top to bottom). Undo and redo buttons sit above the results, with Ctrl+Z and Ctrl+Shift+Z (or Ctrl+Y) as shortcuts, so you can experiment freely; "Download All" saves the cells as numbered PNGs in a ZIP.
Tips
- Sprites you split are saved to your browser session automatically — they’ll still be there after a refresh, and every other tool (Export & Download, the Map Editor, Advanced Processing) can use them. Each new detection or slice replaces what the session held, so export one sheet’s sprites before you split the next; sheets detected together in one Alpha / Background run land in the session together.
- If two sprites come out as one, their pixels touch — often through a faint glow, shadow, or anti-aliased edge. Raise the alpha threshold (or, on a solid background, the background tolerance) so those faint pixels stop counting. Sprites big enough to count on their own are never joined just for standing close together.
- If cut-outs keep a colored fringe from a magenta or white background, switch removal to "Fuzzy edges", or clean the sheet first in the Remove Background tool, whose "Send to Sprite Detection" button hands it straight back here.
- Include and Exclude only change what the ZIP and Save to Folder download; every detected sprite still goes into your session.
What happens next
Once split, head to Export & Download to rename sprites, reorder them, trim transparent borders, and download everything as individual PNGs in a ZIP or as a re-packed sheet with metadata for Godot, Phaser and the web — for Unity, a grid sheet that its Sprite Editor slices, or the ZIP of separate PNGs.
Go deeper
- How to Find the Frame Size of a Sprite Sheet — Work out a sheet’s frame size, margin, and spacing before you slice it.
- Sprite Sheet vs. Texture Atlas: What’s the Difference? — A grid or a packed atlas? It decides whether Grid Slice or auto-detect is the right cut.
- Removing a Solid Background From Sprites Without a Halo — Why magenta and white backgrounds leave a colored fringe, and how soft edges remove it.
Related guides
- How to Remove the Background from a Sprite Sheet
- Sprite Sheet Export Formats Explained
- How to Make a Sprite Sheet from Separate Images