A private, client-only workbench for slicing image grids, cleaning backgrounds, applying pixel-art constraints, and exporting every asset.
Open the live app
| Automatic first pass | Manual 3×3 recovery |
|---|---|
![]() |
![]() |
| Chroma key output | Mobile workbench |
![]() |
![]() |
- Detects likely grid rows and columns, with explicit manual controls when detection needs correction.
- Auto-crops solid borders and adds optional padding to each slice.
- Removes a chosen background color with tolerance, smoothing, and spill controls.
- Applies pixel snapping with K-means quantization or fixed palettes such as NES, Game Boy, and PICO-8.
- Processes images in a Web Worker so the main interface stays responsive.
- Exports one slice at a time or downloads the complete batch.
- Keeps every image in the browser. There is no upload service or backend.
Install Node.js 24.15 or newer and pnpm 11.21 or newer.
pnpm install --frozen-lockfile
pnpm run devOpen http://127.0.0.1:5173.
| Command | Purpose |
|---|---|
pnpm run dev |
Start the local Vite+ server. |
pnpm run check |
Check format, lint, and types. |
pnpm run test |
Run the Vitest suite. |
pnpm run coverage |
Run tests with V8 coverage. |
pnpm run build |
Build the production app. |
pnpm run check:deadcode |
Audit unused files, exports, and dependencies. |
pnpm run ci |
Run checks, coverage, and the production build. |
The main thread owns input and controls. gridSplitter.worker.ts receives an ImageBitmap plus the current options and returns PNG blobs for the preview and export surface.
src/
components/ feature and UI components
config/ palette presets
hooks/ React state helpers
lib/ pure image and file helpers
services/ worker request bridge
styles/ global tokens and styles
test/ fixtures and regressions
types/ shared contracts
workers/ image-processing pipeline
Support continued development through GitHub Sponsors or Ko-fi.
MIT © 2026 gvastethecreator.



