Image resizer for Instagram online: 1080x1080, 1080x1350, stories
Instagram does not care about your file size. It re-encodes everything anyway. What it does care about is the aspect ratio you upload, because that decides how much the feed crops away.
The three ratios that matter
Instagram has settled on three sizes for normal posts and stories. Square is 1080 by 1080, ratio 1:1. Portrait is 1080 by 1350, ratio 4:5. Stories and Reels are 1080 by 1920, ratio 9:16.
Square is the safest choice when you do not know what kind of grid the user has. Portrait wins on engagement because it eats more vertical screen on a phone, and 4:5 is the tallest ratio Instagram allows in feed without cropping. Anything taller gets cropped from the top and bottom in the feed view, even if the full image is visible when you tap.
Stories and Reels are 9:16 because that is the phone screen. Upload anything narrower and you get black bars or a blurred background filler.
Aspect ratio beats file size
You can upload a 12 MB PNG and Instagram will compress it to a 200 KB JPEG. There is no point sending a giant file. The platform re-encodes every upload to its own JPEG profile with chroma subsampling, and any subtle quality you preserved in your source is gone after the first render.
What does survive is dimensions. If you upload 800 by 800 instead of 1080 by 1080, Instagram upscales and the result looks soft on a high density display. If you upload 4000 by 4000, Instagram downscales with its own algorithm and you cannot predict the sharpening pass. The sweet spot is 1080 on the short side. Match that, pick the right ratio, and you are done.
Lossless versus JPEG quality
Saving as PNG before upload is a waste. Instagram converts to JPEG no matter what you send. Save as JPEG at quality 85 to 90 and upload that. The file is smaller, the visual quality after Instagram's own pass is identical to what a PNG would have given you, and your bandwidth is happier.
The only exception is when your image has hard edges and flat color, like a screenshot or a logo. JPEG artifacts around sharp text are visible. For those, stick with PNG and accept the larger upload.
Strip metadata before posting
Phone cameras embed GPS coordinates, timestamps, lens models and serial numbers in EXIF. Most desktop tools preserve EXIF when you re-export. If you crop a sunset on your laptop and post it, the file can still carry the exact street where you took it.
Instagram strips most EXIF on upload, but not all of it, and the file you might also share by DM or email keeps every field. A resizer that drops EXIF on export is the cleaner default for anything you publish.
Working example
javascript// Resize an uploaded image to a 1080x1080 IG square in the browser
async function resizeForInstagram(file) {
const bitmap = await createImageBitmap(file);
const target = 1080;
const canvas = new OffscreenCanvas(target, target);
const ctx = canvas.getContext("2d");
// Cover-fit: crop the longer side so the result fills 1080x1080
const ratio = Math.max(target / bitmap.width, target / bitmap.height);
const w = bitmap.width * ratio;
const h = bitmap.height * ratio;
ctx.drawImage(bitmap, (target - w) / 2, (target - h) / 2, w, h);
// Quality 0.9 JPEG, no metadata (canvas drops EXIF automatically)
return await canvas.convertToBlob({ type: "image/jpeg", quality: 0.9 });
} Just need the result?
When you have a photo on your laptop and need it ready for Instagram in the right ratio without installing anything, the image resizer in aldeacode.com runs in your browser, never uploads the file to a server, and outputs JPEG at the dimensions you pick. Square, portrait, stories, all in one click.
Open Image Resizer (in your browser) →Frequently asked questions
Why does my 1080x1080 image look blurry on Instagram?
Almost always a re-compression artifact, not a resize problem. Upload over Wi-Fi instead of cellular, because the app drops quality further on slow connections. Also check that your source has real 1080 pixels of detail, not an upscaled 720 export.
Can I upload 4:5 portrait at higher than 1080x1350?
Yes, 1350 on the long side is the documented max but Instagram accepts up to 1440 on the long side without obvious quality penalty. Beyond that the platform downscales aggressively and you may lose sharpness, so 1080x1350 stays the safe target.
Do I need different sizes for the grid thumbnail and the post?
No. Instagram crops the post to a 1:1 thumbnail for the grid automatically. If your post is 4:5 portrait, the grid centers the crop. Frame your subject so the central square works on its own and you avoid surprises.