Instagram Post Resizer
Resize any image to pixel-perfect Instagram dimensions — Feed Square, Portrait, Landscape, Story, Reels, Profile, and IGTV. Drag to reposition, zoom, and download. No upload, no server.
Instagram Post Size Reference
Every format Instagram supports — and the exact pixel dimensions you need.
| Format | Dimensions | Ratio | Use case |
|---|---|---|---|
| Square Feed Most used | 1080 × 1080 px | 1:1 | Standard feed post, carousel slides, product shots |
| Portrait Feed Best reach | 1080 × 1350 px | 4:5 | Takes up more vertical feed space — more impressions per scroll |
| Landscape Feed | 1080 × 566 px | 1.91:1 | Cinematic wide shots, panoramas, banner-style posts |
| Story Reels cover | 1080 × 1920 px | 9:16 | Instagram Stories, Reels cover image, IGTV preview |
| Profile Photo | 320 × 320 px | 1:1 | Shown at 110×110, stored at 320×320. Circle crop preview included. |
| IGTV Cover | 420 × 654 px | 1:1.55 | Channel cover shown on your profile IGTV tab |
What This Tool Does
Every Instagram format in one place — resize, reposition, and download without leaving your browser.
How to Use This Tool
photo-ig-portrait-1080x1350.jpg) so you always know the format. Upload directly to Instagram.Logic Behind the Tool
<canvas> element at the full Instagram pixel dimensions (e.g. 1080×1080). The canvas is then exported via toDataURL() as JPEG or PNG and downloaded client-side — no server round-trip.Math.max(canvasW / imgW, canvasH / imgH) to get the smallest scale that covers the canvas. Fit mode uses Math.min() to find the largest scale where the full image fits. Both centre the image by default.canvas.width / rect.width. The delta from mousedown to mousemove is added to the stored offset, then the canvas redraws on every frame — giving a smooth drag experience.centre - (centre - oldOffset) × newZoom / oldZoom, keeping the canvas centre pixel fixed as an anchor point. This prevents the image jumping when you zoom.ctx.arc() before rendering the image. The resulting PNG has a transparent background outside the circle — matching exactly what Instagram renders for profile pictures.width: 100%. This means the downloaded image is always full resolution regardless of your screen size.Frequently Asked Questions
The recommended width for all Instagram feed posts is 1080 pixels. For height, it depends on your aspect ratio: Square (1:1) is 1080×1080, Portrait (4:5) is 1080×1350, and Landscape (1.91:1) is 1080×566. Instagram will accept images as small as 320px wide, but they will appear blurry on modern screens. Always export at 1080px wide for the sharpest result.
Portrait (4:5, 1080×1350) consistently outperforms square and landscape in feed reach because it occupies more vertical screen space on mobile — meaning it takes up more of the user's feed before they scroll past it. The extra real estate translates to longer dwell time and more impressions per post. If you're choosing between formats purely for reach, portrait is the strongest option for feed posts.
Instagram recompresses images when you upload them, especially if the source file is below the recommended dimensions or is already heavily compressed. To minimize quality loss: upload at exactly 1080px wide, use JPEG with a quality of 80–95% (not 100% — oversized files can trigger more aggressive compression), and keep your file size under 8 MB. Avoid uploading images that have been previously recompressed multiple times.
Instagram Stories should be 1080×1920 pixels (9:16 ratio). This fills the entire phone screen with no letterboxing. The same dimensions apply to Reels cover images. Keep important content (faces, text, logos) in the centre 1080×1420 zone — Instagram overlays UI elements in the top and bottom ~250 pixels, including the username, progress bar, and reply bar.
Yes. The tool is fully responsive and supports touch drag to reposition. Tap and drag the preview to move the image, and use the zoom slider to adjust framing. Downloading works on iOS Safari and Android Chrome. Note that on some iOS versions the download may open in a new tab — long-press the image and tap "Save to Photos" as an alternative.
Select PNG as the output format and set the background colour to any colour you want for Fit mode. If you're using Fill mode with no letterboxing, there are no background pixels to worry about. Note that Instagram does not support transparent images — if you upload a PNG with transparency, Instagram will replace the transparent areas with white. For logos on a coloured background, use Fit mode with your chosen fill colour and export as JPEG.