Social Media · Instagram

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 used1080 × 1080 px1:1Standard feed post, carousel slides, product shots
Portrait Feed Best reach1080 × 1350 px4:5Takes up more vertical feed space — more impressions per scroll
Landscape Feed1080 × 566 px1.91:1Cinematic wide shots, panoramas, banner-style posts
Story Reels cover1080 × 1920 px9:16Instagram Stories, Reels cover image, IGTV preview
Profile Photo320 × 320 px1:1Shown at 110×110, stored at 320×320. Circle crop preview included.
IGTV Cover420 × 654 px1:1.55Channel 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.

📐
6 Instagram presets
Square, Portrait, Landscape, Story/Reels, Profile Photo, and IGTV Cover — all the formats Instagram supports, preset to the exact recommended pixel dimensions.
Drag to reposition
After loading your image, drag it directly on the canvas to frame your subject exactly where you want it. Works with mouse and touch on mobile.
🔍
Zoom slider
Zoom from 50% to 300% of the auto-fit zoom level. Zooming anchors to the canvas centre so your subject stays in frame as you adjust.
🎨
Fill or Fit mode
Fill scales your image to cover the entire canvas (like object-fit: cover). Fit shows the whole image with a coloured background filling the gaps — great for product shots.
Background fill colour
Pick any background colour for letterboxed images in Fit mode. White gives a clean product look; transparent is exported as PNG; black suits editorial photos.
🔒
100% browser-based
No upload, no server, no signup. Your image is processed entirely in your browser using the Canvas API and downloaded directly to your device.

How to Use This Tool

1
Upload your image
Click "Choose File" or drag and drop any image onto the upload zone. JPEG, PNG, WebP, and GIF are all supported. The file stays on your device — nothing is uploaded.
2
Choose a format preset
Pick from the six Instagram presets on the left panel. Each button shows the pixel dimensions and aspect ratio. Switching presets instantly re-renders the canvas.
3
Choose Fill or Fit mode
Fill covers the full canvas — ideal for photos. Fit shows the whole image with a background fill — ideal for logos or product images you don't want cropped.
4
Drag and zoom to frame
Click and drag the preview to reposition your image. Use the Zoom slider to adjust how much of the image fills the canvas. Zoom anchors to the canvas centre.
5
Set output options
Choose JPEG (with adjustable quality from 50–100%) or PNG (lossless, supports transparency). Set the background colour for any letterboxed areas in Fit mode.
6
Download and post
Click Download Image. The file saves with a descriptive name (e.g. photo-ig-portrait-1080x1350.jpg) so you always know the format. Upload directly to Instagram.

Logic Behind the Tool

HTML5 Canvas API
The resized output is drawn on an off-screen <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.
Fill vs Fit scaling
Fill mode computes 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.
Drag repositioning
Mouse and touch coordinates are captured in canvas-space by scaling the client position by 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-anchored zoom
When the zoom slider changes, the new offset is computed as centre - (centre - oldOffset) × newZoom / oldZoom, keeping the canvas centre pixel fixed as an anchor point. This prevents the image jumping when you zoom.
Profile photo circle crop
For the Profile Photo preset the canvas draws a circular clipping path using ctx.arc() before rendering the image. The resulting PNG has a transparent background outside the circle — matching exactly what Instagram renders for profile pictures.
Display vs export resolution
The canvas element is set to full Instagram pixel dimensions internally (e.g. 1080×1920) but displayed at a smaller size via CSS 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.

Related Tools

View all →

Related Reading