Logo

MonoCalc

/

Instagram Grid Image Splitter

Social Media

…or drag an image onto this panel, or paste one from the clipboard. JPEG, PNG, WebP and GIF, up to 25 MB and 40 megapixels.

Your image stays on your device
Your image is processed in your browser. It is never uploaded to a server.

About This Tool

Instagram Grid Image Splitter — one picture, many tiles

A profile grid is a wall of small squares, and one picture spread across several of them reads as a single large image when somebody opens the profile. Getting there means cutting the picture into tiles that line up exactly, and uploading them in an order that feels backwards while you are doing it. This grid image splitter does both parts: you load an image from your device, choose how many columns and rows to cut it into, decide how it should be fitted to that shape, and download the tiles as a ZIP with the upload order baked into the filenames. The image is decoded and sliced by your own browser and is never uploaded anywhere.

Posting order is the reverse of reading order

This is the part that catches people. A profile grid fills from the top-left and pushes older posts right and down, so the newest thing you post occupies the cell a visitor reads first. To assemble a three-by-three picture you therefore upload the bottom-right tile first and the top-left tile last. Get it backwards and the finished grid is flipped through both diagonals — recognisably your picture, scrambled. The tool numbers every file in posting order by default, so grid_post-01_r3c3.png is the first upload and grid_post-09_r1c1.png is the last, and sorting the extracted folder by name gives you the queue directly. A README.txt inside the ZIP repeats the list, because the tiles usually end up on a phone where this page is not in front of you.

Cover, Contain and the Free aspect

Your image and your grid rarely share proportions. Three columns of squares is a 1:1 rectangle; a typical camera photo is 3:2. Something has to give, and the fit mode decides what. Cover scales the image until it fills the grid and crops the overflow, which keeps it full-bleed and undistorted — the preview draws the discarded region dimmed outside the grid so you can see what is going, and the focal point handle chooses which part survives. Contain scales the image to fit inside the grid and fills the leftover margin with a colour you pick, keeping every pixel of the original at the cost of visible bands. The Free tile aspect sidesteps the choice: it shapes the grid to your image, so nothing is cropped and nothing is padded, though the tiles are then no longer square.

Tile size, and the one-pixel difference

Fixed tile width renders every tile at the same pixel width and builds the grid as an exact multiple of it, so all tiles are identical and there is no remainder. Keep original pixels cuts the image at its own resolution instead, which resamples nothing but runs into arithmetic: an image 3001 pixels wide does not divide into four equal whole-pixel columns. Rounding down would discard a strip along the edge and rounding up would run off the end, so the leftover pixels are handed out one each from the left, and from the top for rows. The result is that one or two tiles are a pixel larger than their neighbours, every tile edge still meets its neighbour exactly, and each thumbnail shows its true size so the difference is visible rather than surprising.

Tiles are rendered one at a time
A six-by-twelve grid at 1080 pixels per tile is more than eighty megapixels. Browsers cap how large a single canvas may be — Safari and iOS in particular return a blank bitmap rather than an error past the limit — so the assembled grid is never allocated at full size. Each tile gets its own canvas, is encoded, and is released.

Starting on a clean row

A grid only reads correctly when its first tile lands at the start of a row, which happens only when the number of posts already on the profile is an exact multiple of the column count. Tell the tool how many posts are already there and it works out how many filler posts to publish first, showing them as plain placeholders below the mockup. It makes no claim about what those fillers should contain.

Formats, quality and what leaves your device

PNG is lossless and safest for flat colour, text and sharp edges. JPEG is far smaller for photographs, and the quality slider changes both the file size and the picture — each tile's real encoded size updates in the strip as you move it. WebP usually beats both at equal quality but is not universally supported. The slider is disabled for PNG on purpose: PNG is lossless and the browser's encoder ignores the quality argument for it entirely, so a slider that appeared to work would be lying. Note that JPEG has no alpha channel, so a transparent pad flattens to white.

Everything happens locally. There is no upload endpoint, no account and no server — the site is a set of static files — which is also why there is no field for an image address. An image fetched from another origin taints the canvas, and the browser then refuses to let the page read the pixels back out, so the export would fail at the final step. Local files only: the picker, drag-and-drop, or a paste from the clipboard.

Frequently Asked Questions

Is the Instagram Grid Image Splitter free?

Yes, Instagram Grid Image Splitter is totally free :)

Can I use the Instagram Grid Image Splitter offline?

Yes, you can install the webapp as PWA.

Is it safe to use Instagram Grid Image Splitter?

Yes, any data related to Instagram Grid Image Splitter only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

Which tile do I upload first?

The bottom-right one. A profile grid puts the newest post in the top-left cell and pushes everything older to the right and down, so the order a visitor reads the finished picture in is the exact reverse of the order you have to upload it in. Upload the tiles top-left first and the picture comes out mirrored through both diagonals — this is the single most common way a grid split goes wrong. The tool numbers every file in posting order by default, so `post-01` is the first one you upload and the highest number is the last, and sorting the extracted folder by name gives you the upload queue directly. A README.txt inside the ZIP repeats the order, because by the time you are uploading, the tiles are usually on a phone and this page is not in front of you.

Is my image uploaded anywhere?

No. The file is decoded by your own browser, drawn onto canvases on this page, and encoded back into files your browser saves locally. Nothing is sent anywhere, because there is nowhere to send it: this whole site is a set of static files with no server, no account and no image endpoint. You can disconnect from the network entirely and every part of the tool still works. That is also why there is no box for pasting an image address — an image fetched from another site taints the canvas, and the browser then refuses to let the page read the pixels back out, so the split would fail at the last step. Local files only: the file picker, drag-and-drop, or paste from the clipboard.

Why are some tiles one pixel wider than others?

Because in Keep original pixels mode the image is cut at its own resolution, and its width may not divide evenly by the number of columns. A 3001-pixel-wide image in four columns cannot give four equal whole-pixel tiles. The alternatives are both worse: rounding down throws away a strip of up to three pixels along the right edge, and rounding up runs off the end of the image. So the leftover pixels are handed out one each to the tiles from the left, and from the top for rows — the first tile is 751 pixels and the rest are 750. The tiles still reassemble into the original with no seam and nothing lost. Each thumbnail shows its exact size so you can see it rather than discover it later. Fixed tile width mode, the default, avoids the situation entirely: the grid is built as an exact multiple of the tile, so every tile is identical.

What does Cover actually cut off?

Whatever does not fit the shape of the grid. Your image and your grid rectangle rarely have the same proportions — three columns of squares is a 1:1 rectangle, and a typical photo is 3:2 — so something has to give. Cover scales the image until it fills the grid completely and crops the overflow from one axis, which keeps the picture undistorted and full-bleed. The preview draws the discarded region dimmed outside the grid, so you can see exactly what is going, and the focal point control decides which part survives: drag the handle onto the subject and the crop window follows it. If you would rather keep the whole image, switch to Contain, which scales it to fit inside the grid and fills the leftover margin with a colour of your choosing, or pick the Free tile aspect, which shapes the grid to the image so nothing is cropped or padded at all.

What are filler posts for?

Lining the grid up with the rows that already exist. A grid only reads correctly when its first tile lands at the start of a row, and that happens only when the number of posts already on the profile is an exact multiple of the column count. If a three-column grid is starting on a profile with seven posts, the next post lands in the middle of a row and the picture comes out offset by one cell. Posting two filler images first pushes the count to nine and the grid starts clean. Enter how many posts the profile already has and the tool works out the number for you and shows the fillers as plain placeholders below the mockup. It makes no claim about what a filler should contain — that is up to you.

Which output format and quality should I pick?

PNG is lossless and the safest default when the image has flat colour, text or sharp edges, at the cost of a larger file. JPEG is much smaller for photographs and is where the quality slider earns its place — 0.92 is a reasonable starting point, and you can watch each tile's real encoded size update in the strip as you move it. WebP usually beats both at the same visual quality, but a few older browsers and apps still will not open it. The slider is disabled for PNG on purpose rather than left there doing nothing: PNG is lossless, and the browser's encoder ignores the quality argument for it completely, so asking for 0.5 produces a byte-for-byte identical file to asking for 1. Note too that JPEG has no transparency, so if you pad with Transparent and export as JPEG the margin is flattened to white.