Cut, split and export images, right in your browser. Free, open source and 100% local: no accounts, no uploads, no watermarks.
Launch the app · Report a bug · Contribute
ImgTool was built for anyone who ships game assets, sprite sheets or image sets and is tired of heavyweight editors for a job that takes seconds. Drop an image, tell it where to cut, and download polished pieces. Everything happens on your device.
- Pixel-perfect grid slicing. Set columns and rows to seed evenly spaced cut lines, then drag any line exactly where you need it. Double-click a line to remove it.
- Freeform lasso and polygon zones. Irregular sprite? Trace it freehand or click out a polygon, cut any shape you can draw, and combine zones with the grid in a single export.
- One-click background removal. Edge-aware, halo-free transparency tuned for sprite sheets. Sample any background color straight from the image with the eyedropper.
- Trim and format control. Crop transparent margins per piece (with padding) and export as PNG, JPEG or WebP with a quality dial.
- Individual downloads or one ZIP. Grab a single piece or the whole batch.
- Private by design. There is no server. Your images never leave your browser, which also makes it instant on any connection.
- Open stevenosse.github.io/imgtool.
- Drop, paste (Ctrl/Cmd+V) or pick any image, or hit "Start cutting".
- Type column/row counts, or grab the lasso and draw a zone.
- Hit Cut image, then download pieces one by one or as a ZIP.
Works in any modern desktop browser.
git clone https://github.com/stevenosse/imgtool.git
cd imgtool
npm install
npm run dev # start the dev server
npm run build # typecheck (vue-tsc) + production buildBuilt with Vue 3 + TypeScript + Vite. Pushes to main deploy automatically to
GitHub Pages via GitHub Actions.
Contributions are very welcome. This project is built in the open and thrives on community PRs. Whether it's a bug fix, a new cutting mode, better copy or a typo, it's all appreciated.
Good places to start:
- Browse open issues. Ideas are welcome too; open one before a big refactor so we can talk about the approach.
- Ideas we'd love help with: drag-to-move zones, per-vertex zone editing, undo/redo, keyboard shortcuts, i18n, tests.
In short:
- Fork the repo and create a branch (
git checkout -b my-feature). - Make your change and run
npm run build. The typecheck must pass. - Open a pull request describing what and why. Keep PRs focused; small ones merge faster.
Have an idea instead of code? Open an issue. Feature requests shaped the freeform zones you see today.
Made with Vue 3. If ImgTool saves you time, a star on the repo helps others find it.