Asset SliceX (free grid cutting)
Cut sprite sheets, textures and UI atlases along freely placed lines into up to 25 cells — each cell as its own PNG.
Summary
Asset SliceX cuts an asset along freely placed horizontal and vertical cut lines into a rectangular grid of up to 25 cells and exports each cell as its own PNG file. Unlike Asset Slice (fixed four edge insets), here any number of lines can be positioned freely — pure, pixel-exact cropping with no scaling.
When to use it
- You have a sprite sheet, a texture page or a UI atlas and want to break it into many individual pieces.
- The number of cuts is not limited to four edges — you need a free grid.
- You only want to cut, not reassemble or scale.
When not Asset SliceX:
- You want to scale to a target size with fixed corners → Asset Slice (9-slice).
- You want to cut out / coarsen → chroma-key, or UnDetail/Pixelize.
How it works
SliceX works with a strict grid: every horizontal line cuts across the full image width, every
vertical line from top to bottom (no guillotine cuts). From n vertical and m horizontal lines you
get (n+1) × (m+1) cells.
In the preview, you drag new lines out of the ruler strips (left for horizontal, top for vertical lines) into the image; a ghost line follows the cursor live. Lines can be moved right on the line and deleted by dragging them out past the image edge. A status line shows "M × N = K cells" live.
Settings
| Slider | Effect |
|---|---|
| Segment size (label) | Default on — shows the width/height of the adjacent segment right on the line (e.g. 76px). |
| Position (label) | Default off — shows the absolute position from the image edge (e.g. x=76), smaller, dimmed text. |
| Clear all lines | Resets the grid. |
| Output | Target folder, subfolder, file suffix (default _slicex). |
CLI / Automation
Headless, the same free cutting — invocation and positional arguments in the CLI overview. You
pick this operation with --operation slice-grid.
Relevant flags: --slice-grid-xs (comma-separated x positions of the vertical cuts, e.g. "70,140,210")
and --slice-grid-ys (y positions of the horizontal cuts, e.g. "65,130"); empty = no cuts on that
axis. The UI's live line dragging is replaced here by these numeric positions.
Example:
clean_sprite_chromakey.py sheet.png sheet.png --operation slice-grid --slice-grid-xs "70,140,210" --slice-grid-ys "65,130"
FAQ
How are the cells named?
<name>_r<row>c<col> — zero-based, row first: sprite_r0c0.png, sprite_r0c1.png, sprite_r1c0.png …
With no cut, a single file sprite_r0c0.png is produced as a copy of the source.
What happens when I hit 25 cells?
The ruler strip of the saturated direction is grayed out — you can't drag another line there. There's
no popup; the limit (MAX_GRID_CELLS = 25) is enforced silently.
Can I scale to a target size with it? No — SliceX only cuts (pure cropping). For distortion-free scaling with fixed corners, Asset Slice (9-slice) is the one in charge.
Limits
- At most 25 cells per image.
- Strict grid — lines always go through the whole image (no guillotine/freeform cuts).
- No reassembly / no scaling — that's Asset Slice's domain.
- Pixel invariant: pure cropping, no resampling.
Examples

Any horizontal/vertical cuts — each cell is exported as its own PNG.
Related features
- Asset Slice (9-slice / 3-slice) — distortion-free scaling to a target size with fixed corners (the complementary tool).