Instagram compresses every photo you upload, which means a marginal-quality image can look noticeably softer once it's posted. Making sure your source image is properly sized before you upload is the best way to avoid that.
Instagram's recommended dimensions
- Square post: 1080 × 1080px
- Portrait post: 1080 × 1350px
- Landscape post: 1080 × 566px
- Stories / Reels: 1080 × 1920px
Uploading an image smaller than these dimensions means Instagram has to stretch it to fit, and its own compression will make that stretching look worse than if you'd sized it properly beforehand.
Why photos look soft even when they seem "big enough"
A common trap is pulling an image from a website or an old chat thread — those are frequently already compressed and undersized, sometimes down to just a few hundred pixels wide. Re-uploading that to Instagram compresses it a second time, compounding the softness.
The fix: upscale to Instagram's target size before posting
If your source photo is under 1080px on its shortest side, upscale it up to at least that size before uploading. This gives Instagram's own compression a cleaner, more detailed image to start from, rather than a small file it has to stretch itself.
Crop first, then upscale
Decide on your crop and aspect ratio before you upscale, not after. Upscaling a full image and then cropping down wastes processing on pixels you're going to discard, and focuses the enhancement pass on the wrong region. Crop to the aspect ratio you need first, then upscale that final crop to the target resolution.
Export as PNG if your photo has text
Quote graphics, memes, or any image with text on it should be upscaled and exported as PNG rather than JPG, since JPG compression is especially harsh on hard edges like text. For regular photos without text, JPG at a high quality setting keeps the file size reasonable without a visible quality hit on Instagram.
Try the free AI image upscaler
Enlarge your own photo to 200% or 400% — instantly, in your browser, with no signup.
Upscale an image →