Short answer

Arrange up to 18 tiles here in the order you want them to read, then publish in reverse. Instagram fills the profile grid newest-first from the top-left, so the tile you want in position 1 is the last thing you post. Thumbnails are centre crops, so a 4:5 portrait loses its top and bottom on the profile.

The one thing that trips everyone up

A profile grid is three tiles across and reads the way a page reads: left to right, top to bottom. Publishing does the opposite. Every new post is inserted at the top-left and pushes everything else one slot to the right, wrapping down a row at the end. The grid is a stack, not a queue.

The consequence is simple and easy to get wrong: your posting order is the exact reverse of your reading order. If you have planned nine tiles and you want tile 1 sitting top-left when you are finished, tile 9 has to go out first and tile 1 has to go out last. Plan forwards, publish backwards.

This is where most hand-drawn grid plans fall apart. People arrange a beautiful nine-square layout in a design tool, post it top-left first because that is how they read it, and end up with the layout mirrored vertically. The planner removes the arithmetic: arrange the tiles visually, and the posting-order list underneath is already reversed for you, with each filename mapped to the row and column it will land in.

Publish this Lands in grid position Row, column
1st (earliest) 9 Row 3, column 3
2nd 8 Row 3, column 2
3rd 7 Row 3, column 1
4th 6 Row 2, column 3
5th 5 Row 2, column 2
6th 4 Row 2, column 1
7th 3 Row 1, column 3
8th 2 Row 1, column 2
9th (latest) 1 Row 1, column 1

What Instagram does to the image itself

A grid tile is not your post. It is a thumbnail derived from it. Whatever ratio you published at, the profile grid renders a crop of it into a fixed tile shape, and the crop is taken from the centre by default. That means a 1080 x 1350 portrait post loses a band off the top and the bottom on your profile, even though the full frame is intact in the feed. A caption burned into the bottom of a 4:5 image can be completely absent from the grid.

The tile shape itself has changed. The square tile was the constant for most of Instagram’s history; the profile grid has since moved to a taller portrait tile, which was announced publicly and rolled out gradually, and the exact proportions have been adjusted more than once since. This planner models the 1:1 centre crop, which is the conservative choice: everything visible inside a square tile is also visible inside a taller tile of the same width, while a taller tile reveals extra top and bottom that the square preview hides. Design with your subject genuinely centred and the composition survives both shapes — and whatever shape comes next.

Thumbnails are also re-compressed, like everything else you upload. The parameters are not published, so the practical advice is the usual one: a busy, high-contrast, detail-heavy image degrades more visibly at thumbnail size than a simple one. Grids that hold up are usually built from images with a clear single subject and a limited palette, because that is what still reads at 150 physical pixels wide.

Planner specification

Setting Value Why it is that
Columns 3 The profile grid has been three across for as long as it has existed.
Maximum tiles 18 (6 full rows) Six rows is roughly two screens of profile — far enough ahead to plan without turning the page into a photo library.
Thumbnail crop 1:1 centre crop Matches the default grid crop, and is the conservative subset of a taller tile.
Stored thumbnail 400 x 400 px JPEG, quality 0.82 Sharp enough to judge a composition, small enough that 18 of them fit in browser storage.
Export cell 540 x 540 px Half of 1080, so exported tiles are a clean fraction of the source you would upload.
Export gutter 6 px Reads as separation without pretending to be Instagram’s exact spacing.
Export width 1644 px Three 540 px cells plus four 6 px gutters.
Export height 1644 px at 3 rows, 3282 px at 6 rows Rows multiplied by 540, plus one gutter more than the row count.
Saved-plan budget 4,200,000 characters of localStorage Comfortably under the roughly 5 MB ceiling browsers impose per origin.

A workflow that works

  • Feed the planner your finished exports, not your camera roll. Judging a grid from unedited originals tells you nothing, because colour grading is most of what makes a grid cohere.
  • Arrange for the row, not the tile. Only three tiles are ever seen together on the top line. A grid reads as a sequence of rows sliding upward, so the useful question is whether each row of three balances, not whether the whole nine-square mosaic is symmetrical.
  • Use Shuffle as a stress test. If a random arrangement looks roughly as good as your careful one, your images are too similar to each other, and the grid will read as texture rather than as a plan.
  • Reorder without the mouse if you prefer. Tab to a tile, move with the arrow keys, press space or enter to pick it up, carry it with the arrows, space again to drop, Delete to remove, Escape to cancel. The whole grid is keyboard-operable and announces every move.
  • Export the PNG and keep it. The exported grid is your reference while you work through the posting queue over the following weeks, and it is the artefact you can hand to a client or a collaborator.
  • Copy the posting order into your scheduler. The copy button writes a numbered list in publish sequence, each line naming the grid position, row and column it will land in, with an explicit reminder of which file is the last one out.

The honest limits

Reverse order is the trap, and it is worth repeating. The list under the grid is already in publishing sequence. Post from the top of that list downward. The first line is the file that goes out today; the last line is the file that goes out last and ends up top-left. If you post in reading order instead, you get your plan flipped upside down, and the only fix is to delete and repost.

Your saved plan does not follow you to another device. The arrangement is written to your browser’s localStorage under the key stealthgram.grid-planner.v1. localStorage is per-browser and per-origin. Open the same page on your phone, on another laptop, in a different browser, or in a private window, and you will find an empty grid. There is no account and no server copy — that is the trade the tool makes for never uploading your photos. If you need the plan somewhere else, export the PNG and copy the posting order.

The saved plan can also disappear locally. Clearing site data, a browser that evicts storage under pressure, or private browsing mode will all take it. If the thumbnails total more than 4,200,000 characters the tool refuses to persist them and says so plainly: the grid still works in front of you, but it will not survive a reload until you remove some tiles. The status line shows exactly how much of the budget you are using.

The preview is an approximation of a moving target. It models square tiles with a 6 px gutter. Instagram’s real profile grid has changed tile shape and spacing over time and will change again. What the planner is genuinely good at is relative arrangement — which image sits next to which — and that survives every redesign.

Practical ceilings. Eighteen tiles, files up to 80 MB each, sources up to roughly 80 megapixels. Anything skipped is named in an error box with the reason, rather than silently dropped. Files that are not images are refused. There is no scheduling, no publishing and no Instagram connection of any kind: this tool never asks for your password and could not use it if you gave it one.

This runs in your browser

No sign-in, no Instagram password, no account connection. Images you open here are read by your own browser with the Canvas API from a local object URL. There is no upload endpoint on this site, so there is nowhere for the file to go. Open your browser’s network tab and watch: after the page loads, there are no further requests.

Frequently asked questions

In what order do I post to get the grid I planned?

Backwards. Instagram inserts each new post at the top-left, so the tile you want in grid position 1 is the last one you publish. The planner prints the sequence already reversed, mapping each file to the row and column it will land in.

How many images can the planner hold?

18, which is six full rows of three. Extra files are skipped with a message naming the file rather than being silently ignored.

Will my saved grid appear on my other devices?

No. The plan lives in your own browser’s localStorage, which is per-browser and per-origin. There is no account and no server copy, so another laptop, another browser or a private window will show an empty grid. Export the PNG if you need it elsewhere.

Are Instagram grid thumbnails square?

They were square for most of Instagram’s history and the profile grid has since moved to a taller portrait tile, with the proportions adjusted more than once. This planner previews the 1:1 centre crop, which is the conservative view: anything visible in a square is also visible in a taller tile of the same width.

Why does my portrait post look cropped on my profile?

Because the grid renders a centre crop of your post, not the whole frame. A 1080 x 1350 image loses a band off the top and bottom in the tile even though the feed shows all of it. Keep the subject and any text well inside the centre.

What size is the exported grid PNG?

1644 px wide — three 540 px cells plus four 6 px gutters. The height is the number of rows times 540, plus one more gutter than there are rows: 1644 px at three rows, 3282 px at six.

Why did my saved plan vanish?

Either the browser cleared its storage, you were in a private window, or the thumbnails exceeded the 4,200,000-character budget the tool will keep. In that last case the planner warns you at the time and shows how much of the budget you are using.