Image Splitter
Cut an image into a neat grid for Instagram or a photo mosaic, and download every piece. Free, fast, and your files never leave your device.
Drop an image here or click to choose a file
JPG, PNG or WebP.
Who actually needs a grid of tiles
The obvious case is an Instagram profile mosaic: one artwork or panorama broken across three, six or nine posts so the profile page reassembles it. The presets exist for exactly that.
The less obvious cases are just as common. Printing a poster at home means cutting a large image into A4-sized tiles you can tape together. Craft patterns, cross-stitch charts and model templates get split so each section prints at a readable scale. Testing a responsive sprite sheet or slicing a scanned contact sheet into individual frames both come down to the same rectangular cut. Anything where you need consistent, exactly aligned pieces from one picture works here.
Where the cut lines land
Column boundaries are calculated as the image width multiplied by the column index and divided by the column count, then rounded. Rows work the same way down the height. The practical effect is that when the size does not divide evenly, the leftover pixels are spread across the tiles rather than dumped in the last one.
Split a 1000 px wide image into three columns and you get widths of 333, 333 and 334. No pixel is lost and none is duplicated, so the pieces butt together perfectly if you reassemble them. The line under the preview reports the approximate tile size, and the cut lines drawn over the preview are only a guide: the real slicing is done against the original full-resolution file, not the shrunken preview.
Every tile is written as a PNG, which is lossless, so the pixels in each piece are identical to the pixels in the source. Those PNGs go into one archive at compression level 0, meaning they are stored rather than squeezed again. That makes the archive fast to build and roughly the size of the tiles added together.
Get the source shape right before you split
This is the step most people skip. The tool divides whatever you give it, so the shape of each tile depends entirely on the shape of your source. For square tiles you need the source width to height ratio to equal the columns to rows ratio.
For a nine-post square grid, start with a square image. A 3240 x 3240 source yields nine tiles of 1080 x 1080, which is the maximum resolution Instagram keeps for a square post. For a six-post grid across three columns and two rows, use 3240 x 2160. For a single row of three, use 3240 x 1080. Feed a standard 4:3 camera photo into a 3 x 3 split and every tile comes out slightly wider than it is tall, so the app will centre-crop the thumbnails and your alignment drifts.
Crop to the correct ratio first with the crop tool, then set the exact pixel size with the image resizer, then come back here. Two minutes of preparation saves reshooting the whole grid.
Uploading in the order that works
Tiles are named by position: piece-r1-c1.png is top left, piece-r3-c3.png is bottom right in a nine-tile grid. A profile grid fills from the top left with the newest post, so you have to upload in reverse reading order. Start with the bottom right tile, work right to left along the bottom row, then the middle row, and finish with the top left tile. Get one out of sequence and the only fix is deleting posts, so lay the files out on your desktop in posting order before you start.
Limits worth knowing
Columns and rows each cap at 20, giving a theoretical maximum of 400 pieces. Long before that you will feel it: each tile needs its own canvas and its own PNG encode, done one after another, and the button simply says it is building while the tab sits unresponsive. A hundred tiles from a large photo can take a noticeable pause on a laptop and may be too much for a phone.
PNG output is fixed, with no JPEG option. Because photographs compress badly as PNG, a 3 MB JPEG can easily come back as a 25 MB archive of tiles. That is fine for posting, awkward for emailing. Run the pieces through compress to a target KB if size matters.
There is also no gutter or margin option, no numbered overlay burned into the tiles, and no overlap allowance for printing, so if your printer cannot print edge to edge you will lose a sliver at every join. The archive is assembled by a library loaded from a CDN, so a blocked or offline connection produces a message saying the ZIP library did not load.
Answers to common questions
What size image do I need for a 3 x 3 Instagram grid?
A square source of 3240 x 3240 pixels. That divides cleanly into nine 1080 x 1080 tiles, matching the largest resolution the app stores for a square post.
Which tile do I post first?
The bottom right one. New posts appear at the top left and push older ones along, so uploading in reverse reading order is what makes the mosaic line up.
Why is my download so much bigger than the original?
Tiles are saved as lossless PNG and stored without further compression. Photographic detail expands considerably in PNG, so an archive several times the size of a source JPEG is normal.
Can I put a gap between the pieces?
No. The cuts are edge to edge with no gutter, padding or overlap. For a bordered look, add the border to each tile afterwards in a separate editor.
Does splitting reduce image quality?
No. Each piece is copied from the original at full resolution with no scaling and saved losslessly, so a reassembled grid is pixel for pixel the same as what you started with.