Image Splitter

Everything happens in your browser — your image is never uploaded to a server.

About splitting images into a grid

Splitting an image into a grid of smaller pieces is a common step for things like Instagram grid layouts (posting one photo across multiple square tiles), jigsaw-puzzle-style content, or preparing image tiles for a mosaic display. This tool slices an uploaded image into equal pieces — either by choosing how many rows and columns you want, or by specifying a fixed pixel size per tile — and bundles all the resulting pieces into a single ZIP file to download.

How the slicing works

The image is drawn onto an HTML canvas, and the tool calculates piece boundaries either by dividing the total width and height evenly across your chosen row/column count, or by repeating a fixed pixel size until the image is covered. Each grid cell is then extracted as its own separate image (cropped from the canvas) and encoded as an individual PNG file, and all of these are packed together into one ZIP archive using a pure JavaScript ZIP encoder built into the tool — no external library or server upload involved.

Frequently asked questions

Is my image uploaded to a server for splitting?
No. All slicing, cropping, and ZIP packaging happen locally in your browser using the canvas API — your original image file is never sent anywhere.
What happens if the image size doesn't divide evenly into my chosen grid?
When using fixed pixel size mode, edge pieces along the right and bottom of the image may end up smaller than the specified size if the dimensions don't divide evenly, since the tool crops to the image's actual boundary rather than padding with blank space.
Why is there a maximum of 1024 pieces (32×32)?
Splitting into an extremely large number of tiny pieces produces diminishing practical value while significantly increasing processing time and the size of the resulting ZIP file, so the tool caps the grid at 32×32 to keep the process fast and the output manageable.