tool / imaging

Sprite Sheet Splitter

Detect and extract individual sprites from a sheet using alpha transparency or a color key background. Download all sprites as separate PNGs — zero server, zero uploads.

Back to tools index

Drop a sprite sheet here or browse

PNG, GIF, WebP, BMP — transparency or color-key supported

What It Does

Scans the uploaded image for distinct non-background regions using a connected-component flood-fill algorithm. Each isolated region is treated as one sprite and cropped into its own PNG. It supports two modes: alpha transparency (pixels with alpha < threshold are background) and color key (pixels within a color distance of the chosen background color are background).

How It Works

The tool reads every pixel via the Canvas API. For each unvisited foreground pixel it performs a 4-directional BFS to find all connected pixels, records the bounding box, then skips boxes smaller than the minimum size. The padding value expands each bounding box outward before cropping. Nothing leaves your browser.

How To Use

  • Drop or browse a sprite sheet image.
  • Choose Alpha transparency for sheets with transparent backgrounds (PNG).
  • Choose Color key for solid background colors (e.g. magenta #FF00FF) and set tolerance.
  • Click the image preview to sample a background color automatically.
  • Adjust padding and minimum size, then click Detect Sprites.
  • Download individual sprites or all at once.

When You'd Reach For This

The classic case: you've got a character sheet from an asset pack or an old game and your engine wants one file per frame. Cutting sprites out by hand in an image editor is tedious and error-prone — one crop off by a pixel and the animation jitters. It's also handy for pulling individual icons out of a UI atlas, splitting a downloaded emoji or icon strip into separate files, and rescuing assets from retro-style sheets where everything sits on a magenta or lime-green background. Because detection follows the actual pixels instead of a fixed grid, it works even when sprites are different sizes or unevenly spaced.

Frequently Asked Questions

It found way too many sprites. What now?

Usually that means one visual sprite is made of disconnected parts — a character and its detached shadow count as two regions. Raise the min asset size to drop stray specks, or increase padding so nearby fragments merge into one crop. In color-key mode, bumping the tolerance also helps when anti-aliased edges are being read as foreground.

Which detection mode should I pick?

If your sheet is a PNG with a transparent background, use alpha — it's the most reliable. Color key is for sheets with a solid background fill. Don't guess the hex value: switch to color-key mode and click the background in the preview to sample it directly.

Why does the output look grid-checkered?

That checkerboard is just the preview showing transparency. The downloaded PNGs have a real transparent background, ready to drop into an engine or editor.

Is my sprite sheet uploaded anywhere?

No. The pixel scanning, cropping, and PNG encoding all run in your browser tab. Unreleased game art never touches a server.

// huntermussel

Need automated sprite processing in your game pipeline?

HunterMussel designs workflow automation systems that handle asset extraction, format conversion, and batch delivery at scale.

Explore Workflows & BPM →

Advertisement · Publicidade