About this tool
Fit one image to every Instagram feed, portrait, landscape and story size, with crop preview and batch export.
Instagram Post Size Generator fits one piece of artwork to every Instagram canvas — 1080 × 1080 square, 1080 × 1350 portrait, 1080 × 566 landscape and the 1080 × 1920 story frame — and exports them in a batch. Before you export it shows the number that actually matters: how much of the original image each ratio crops away at your chosen anchor point, and whether the source has enough pixels or is being enlarged. Fitting uses the standard cover and contain scaling rules, and everything runs in the browser so the image is never uploaded.
Open Instagram Post Size Generator on AltFTool — it loads instantly in your browser.
Provide your input — an image, text, or data.
Let the tool analyze or generate the result.
Review, refine, and reuse the output wherever you need it.
Each ratio reports the percentage of the original area it discards, so you choose the anchor deliberately instead of discovering the crop later.
A resolution figure under 100% means there are fewer source pixels than the canvas needs, which is why the export looks soft.
The file is read and drawn locally, so unreleased campaign artwork stays on your machine.
1080 × 1080 for a square and 1080 × 1350 for a portrait post. Instagram serves feed images at up to 1080 pixels wide, so exporting larger gains nothing. Portrait at 4:5 is the tallest ratio the feed accepts and takes up the most screen height, which is why it is the usual choice for reach.
1080 × 1920 pixels, a 9:16 ratio matching a full phone screen. Meta's own Stories creative guidance keeps roughly 250 pixels clear at the top and bottom for interface elements. Reels put more interface at the bottom than Stories do, so keep captions higher and check the result in the app before publishing.
Use fill for photographs, where losing the edges is acceptable and a full-bleed frame looks better. Use fit when the whole composition matters — a chart, a poster, a logo lockup — and accept the bars. Fill is the default here because feed posts with bars look like mistakes.
Almost always because the source was narrower than the canvas and had to be enlarged. A 600-pixel-wide source in a 1080-pixel canvas has only 56% of the pixels it needs. Instagram also recompresses uploads, which makes an already-soft image worse, so start at 1080 pixels wide and never below the 320-pixel minimum.