KKwikfig.

Image Splitter

Split an image into a grid of tiles in your browser — set columns and rows, download the tiles together as a ZIP. Processed on your device, never uploaded. Runs entirely in your browser — your numbers never leave this device.

Choose the image to split into tiles
Click to browse, or drag and drop a file here — it never leaves your device.

No image loaded yet. Load one, choose a grid, and every tile is cut from the full-resolution image on this device and packed into a single ZIP — nothing is uploaded.

How it works

Column boundaries = round(i × image width ÷ columns) for i = 0…columns; row boundaries likewise | Adjacent tiles can differ by 1 px when the grid does not divide the dimension — the boundaries, not the tile size, are what stay exact

Your image is processed entirely in your browser and never uploaded: it is decoded on your own device (EXIF orientation applied on load, so a phone photo is split upright), cut along the grid you set, and the tiles are packed into a ZIP and offered back as a single download. Nothing reaches a server, stored or logged, and the splitter works offline once the page has loaded. Tiles are cut from the full-resolution decoded image, not from any scaled preview, so tile dimensions are source-pixel dimensions.

The grid arithmetic is boundary-based, and it matters when the numbers do not divide evenly. Boundaries are placed at round(i × dimension ÷ count): splitting a 2000-px height into 3 rows puts boundaries at 0, 667, 1333 and 2000, which makes the row heights 667, 666 and 667 — the middle row absorbs the rounding, no pixel is dropped or duplicated, and the tiles reassemble into exactly the original image. The worked example below carries the full arithmetic for a 3000 × 2000 image in a 3 × 3 grid, which produces nine tiles: three columns of exactly 1000 px and rows of 667, 666 and 667 px.

The usual jobs are grid posts (a wide photo published as a swipeable 3 × 3), printing a large image across several sheets, and cutting a sprite or texture atlas into its cells. Tile files are named by position — row and column — so the set can be reassembled or uploaded in order without renaming. For a single rectangular cut rather than a full grid, the Image Cropper is the right tool; the splitter's job is the complete partition, every pixel accounted for in exactly one tile.

Worked examples

A 3 × 3 grid from a 3000 × 2000 photo

Input
Photo 3000 × 2000 px, 3 columns × 3 rows
Working
Column boundaries: round(i × 3000 ÷ 3) = 0, 1000, 2000, 3000 — columns exactly 1000 px wide. Row boundaries: round(i × 2000 ÷ 3) = 0, 667, 1333, 2000 — row heights 667, 666 and 667. Tiles are therefore 1000 × 667, 1000 × 666 and 1000 × 667 by row, nine in total.
Result
Nine tiles in a ZIP: 3 columns of 1000 px, rows of 667 / 666 / 667 px

A panorama split into three posts

Input
Panorama 4500 × 1500 px, 3 columns × 1 row
Working
Column boundaries at 0, 1500, 3000, 4500; the single row is the full 1500 px height. Each tile is a square 1500 × 1500 — the classic three-panel carousel cut.
Result
Three tiles of 1500 × 1500 px each

Halving an image both ways

Input
Image 1920 × 1080 px, 2 columns × 2 rows
Working
Boundaries at 0, 960, 1920 across and 0, 540, 1080 down — both dimensions divide evenly, so all four tiles are identical in size.
Result
Four tiles of 960 × 540 px each

Frequently asked questions

Is my image uploaded to split it?

No — never. The image is decoded, cut and zipped entirely inside your browser; it never leaves your device, is never stored or logged, and the tool works with the network disconnected.

Why are some tiles 1 pixel smaller than others?

Because boundaries are rounded to whole pixels: round(i × dimension ÷ count). A 2000-px height in 3 rows gives boundaries 0, 667, 1333, 2000 and heights 667, 666, 667. The alternative — fractional tiles — does not exist; boundary rounding loses no pixel and duplicates none, so the tiles tile the original exactly.

How are the tiles named and delivered?

All tiles are delivered together in one ZIP download, each file named by its grid position (row and column) so the reading order is preserved and the set can be uploaded or reassembled in sequence.

What grid should I use for an Instagram carousel grid?

3 columns × 3 rows for the classic nine-post profile grid, or 3 columns × 1 row for a three-panel panorama across one carousel. Mind the boundary arithmetic: on a 3000 × 2000 photo the 3 × 3 cut produces rows of 667, 666 and 667 px, which platforms display without a visible seam.

How is this different from the Image Cropper?

The cropper extracts one rectangle and discards the rest. The splitter partitions the whole image into a grid of tiles that together contain every pixel — nothing is discarded, and the tiles reassemble into the original.

Related tools

More in Image Tools · Browse all tools