Resize Image for Instagram — Free
Portrait 1080×1350 · Square 1080×1080 · Story 1080×1920 — one click, no upload
Instagram crops photos that don't match its aspect ratio limits. Use the correct size upfront and your post looks exactly how you intend it — no surprise crops in the feed. This resizer runs in your browser using the Canvas API. Drop your photo, click an Instagram preset, and download. No upload, no account, no fake download buttons. Works on mobile too.
Your Files Never Leave Your Browser
Conversions run locally in your browser using the Canvas API, with Web Workers used when supported. Your image data stays on your device and is never uploaded to any server.
We use Google Analytics and Google AdSense for aggregated traffic stats and contextual ads when consent allows it. Theme and language preferences stay in your browser. We never see, read, or store the images you convert.
Browser-based conversion has trade-offs: large files (>50 MB) may hit memory limits; animated GIF output flattens to a single frame; EXIF metadata is stripped; ICC color profiles may differ across browsers.
> instagram_image_sizes_2026
| Use Case | Size (px) | Ratio | Notes |
|---|---|---|---|
| Feed — Portrait | 1080 × 1350 | 4:5 | Most vertical real estate — recommended for engagement |
| Feed — Square | 1080 × 1080 | 1:1 | Classic Instagram format, works everywhere |
| Feed — Landscape | 1080 × 566 | 1.91:1 | Widest allowed ratio — shows less in feed |
| Story / Reel | 1080 × 1920 | 9:16 | Full-screen vertical — covers entire mobile screen |
| Profile Picture | 320 × 320 | 1:1 | Displayed as circle — keep subject centered |
| Carousel (each slide) | 1080 × 1350 | 4:5 | All slides must be the same ratio |
Instagram re-compresses images on upload. Always upload at max 1080px width and save at 80%+ quality to minimize double-compression loss.
> instagram_format_dimensions
Instagram uses a single width — 1080px — across almost every placement. What changes between placements is the height, and therefore the aspect ratio. This resizer ships three one-click Instagram presets, and the custom width/height fields cover every other size. Posting the same photo elsewhere too? The general image resizer carries a preset for every major network, and the dedicated YouTube thumbnail resizer locks the 1280×720 frame in one click.
Feed portrait — 1080×1350 (4:5)
Portrait is the tallest of Instagram's three classic feed ratios. At 4:5 it occupies more vertical space on screen than a square or landscape post, so more of the frame is visible before a viewer scrolls past. Click the Instagram → Portrait preset to set 1080×1350 instantly. It is also the safest ratio for carousel posts, because every slide in a carousel must share the same aspect ratio.
Feed square — 1080×1080 (1:1)
The classic Instagram format. A 1:1 square renders the same way in the feed, on the profile grid, and inside carousels, which makes it the most predictable choice when you are not sure where the image will appear. Click Instagram → Square to set 1080×1080.
Feed landscape — 1.91:1 (custom size)
Landscape is the widest ratio the feed accepts, about 1.91:1 (roughly 1080×566). There is no one-click landscape preset — type 1080 and 566 into the custom width and height fields to build it. Landscape shows the least vertical space of the three feed ratios, so keep it for images that are genuinely wide.
Stories & Reels — 1080×1920 (9:16)
Stories and Reels both use the full-screen vertical 9:16 frame. Click Instagram → Story/Reel to set 1080×1920. Reels lay the caption, buttons, and audio label over the lower portion of the screen, so keep faces and any text you want read toward the center rather than the bottom edge.
Profile picture — 1:1 (custom size)
Your avatar is cropped to a circle and shown small, so a centered square source works well. Enter matching width and height (for example 320×320) in the custom size fields and choose Fill so the subject stays centered.
> how_to_resize_for_instagram
- Drop your photoDrag a photo into the resizer above or click to browse. JPG, PNG, WebP, GIF, and BMP are all supported. The original dimensions are shown instantly.
- Click an Instagram presetUnder the Instagram group, click Portrait (1080×1350), Square (1080×1080), or Story/Reel (1080×1920). The width and height fields fill automatically.
- Fill or Fit — pick a modeFill is recommended for Instagram — it crops any excess from the center so your photo fills the frame edge to edge. Fit scales the whole photo inside the frame without cropping, adding white bars if the ratios differ.
- Download and uploadClick Resize & Preview. Choose JPG at 82–90% quality for photos, or PNG for graphics with text. Download and upload directly to Instagram — no extra editing needed.
> post_a_full_photo_without_cropping
To post a full photo on Instagram without cropping it, resize it in Fit mode instead of Fill. Fit scales your entire image to sit inside the Instagram frame and fills the leftover space with letterbox bars, so no edge is cut off — Fill, by contrast, crops whatever spills past the frame. Export as JPG so the bars come out white — the right choice for Instagram, which converts every upload to JPEG and flattens transparency. (PNG and WebP exports get transparent bars instead, but Instagram will not keep them transparent.)
- Load your photo and pick a presetDrop the photo into the resizer, then click the Instagram preset for where you're posting — Portrait 1080×1350 for the feed, or Story/Reel 1080×1920 for a full-screen story.
- Switch Mode to FitChange the Mode toggle from Fill to Fit. Fit keeps your whole photo visible inside the frame instead of cropping the edges to fill it.
- Keep JPG as the output formatExport as JPG so the letterbox bars come out white. Instagram converts uploads to JPEG and strips transparency, so transparent PNG or WebP bars would not survive the upload. Click Resize & Preview to see exactly how the padded image looks.
- Download and uploadDownload the resized file and upload it to Instagram. The full photo stays visible, with the bars making up the difference in aspect ratio.
> pro_tips_for_instagram_images
- Portrait wins in feed: The 4:5 (1080×1350) format occupies the most vertical space in the Instagram feed — up to 20% more than a square post. More space = more visibility = higher engagement.
- Use Fill mode: For posts where you want the full frame used, Fill crops from the center. If your subject is off-center, resize manually and use the custom dimensions to fine-tune.
- Stories vs. Reels: Both use 1080×1920. Reels have a bottom-heavy UI overlay — keep important text and faces in the center 1080×1420px safe zone.
- JPG vs. PNG for Instagram: Use JPG for photos. Instagram re-encodes everything to JPG/HEVC anyway, so PNG offers no benefit for photos and creates larger source files. Use PNG only for graphics with flat colors or text.
- Avoid upscaling: Instagram shows a blurry image if the source is too small. Always start with an image that is at least as large as your target size.
> why_instagram_compresses_your_upload
Instagram re-encodes almost every photo you upload so it can serve a smaller file to millions of feeds quickly. You cannot turn that step off, but you can control how much quality survives it by handing Instagram a clean, correctly-sized file in the first place.
Export at 1080px width, not larger
Every Instagram preset in this tool uses a 1080px width, because that is the width Instagram displays. Uploading a 4000px-wide original does not give you a crisper post — Instagram simply downscales and recompresses it on its own servers, where you have no say over the quality setting. Resize to a 1080px preset yourself first, using this tool's step-down algorithm (it halves the image in stages before the final draw for a cleaner downscale), and you decide how the shrink happens.
Save JPG at 80–90% quality
For photos, JPG at 80–90% is the practical range. This resizer defaults to 82% quality, which keeps detail while giving Instagram a reasonably small file to start from. Dropping below about 60% bakes in visible artifacts that Instagram's own compression then makes worse. Use PNG only for graphics with flat colors, sharp edges, or text — for photographs PNG produces a much larger file with no visible benefit.
Fill vs Fit — decide the crop yourself
Fill scales your image to cover the whole frame and crops the excess from the center, so the output matches the Instagram frame exactly with no bars — use it for feed posts so Instagram never re-crops your image. Fit scales the entire image inside the frame without cropping and adds letterbox bars: white bars for JPG output, or transparent bars if you export PNG or WebP. Choose Fit when keeping every part of the image matters more than filling the frame edge to edge.