Instagram Image Sizes You Actually Need to Know
The reason your posts look terrible most of the time isn't because you're a bad photographer. It's because you're uploading files at the wrong dimensions and Instagram is crushing them into shapes they weren't made for. I spent about six months fighting with this before I just wrote down every format once and stopped second-guessing myself. The platform has gotten more complicated over the years. Stories, reels, carousels, grid posts — they all have different requirements now. Here's what I actually use. Square posts still make up a big chunk of profiles, and the clean 1080 by 1080 pixels is the safest baseline. Instagram will accept larger files but it compresses whatever you send anyway, so there's no point uploading something massive and hoping it looks sharper. It won't. The algorithm resamples it down regardless. If you're working in Photoshop or Affinity, set your canvas to 1080 by 1080 at 72 dots per inch and you're done. Export as JPEG at around 80 percent quality. That gives you a small enough file to upload without triggering Instagram's heavy compression pipeline, while still looking decent on screen. Portrait orientation is probably the most used format now because it takes up more vertical space in the feed. The recommended size is 1080 by 1350 pixels. That's a four-to-five aspect ratio. It looks good on both phone and desktop because it doesn't get cropped awkwardly. I learned this the hard way back when I was still uploading 1080 by 1920 images for portrait posts. Instagram would slap a white or black bar on the sides or crop the top and bottom unpredictably depending on whether you were viewing it on iOS or Android. It was infuriating. The 4:5 ratio solved that problem entirely.
Landscape Posts and the Grid Problem
Landscape at 1080 by 608 pixels works fine if you actually want that horizontal feel. But here's the thing nobody tells you clearly: if you post landscape images into a grid full of squares and portraits, your profile looks messy. The thumbnails will have those huge letterbox bars and it creates visual noise. I used to ignore this and just post whatever looked best natively. Then I checked my own profile on a phone and realized it looked like a jumbled mess. Now I stick to square and portrait for the main feed content and use carousel covers to keep the grid consistent. Stories and reels both use 1080 by 1920 pixels. That's the full-screen vertical format. The safe zone is important here though. Instagram overlays the username, caption text, and interaction buttons at the bottom, and the profile picture at the top left. If you're putting text or important visual elements near those edges, they're going to get covered up. I leave about 250 pixels clear at the bottom and top. It's not exact but it's close enough. Anything more precise than that and you'll spend forty-five minutes adjusting layouts for no real benefit since different phones have slightly different screen ratios anyway. Carousels are tricky because every slide needs to follow the same dimension rules as regular posts. You can mix portrait and landscape slides within one carousel but it looks uneven. I recommend sticking to one aspect ratio per carousel. Use 1080 by 1350 if you want maximum feed presence. The only edge case I've run into is when people try to upload PDFs or document-style carousels. Instagram will rasterize those at a much lower resolution than native images. I switched to building carousel frames as individual image files in Canva instead, setting each slide to 1080 by 1350. The quality difference is immediately obvious and it took about two minutes per slide to set up once I had a template ready.
Your profile picture displays at 110 by 110 pixels on most screens but you should upload at 320 by 320 to be safe. It gets cropped into a circle. This is where I wasted the most time early on. People design square images and then wonder why the corners get cut off. Center your subject and make sure nothing important sits within the outer twenty percent of the frame. I use a simple circular guide overlay in my editor and it's saved me from several awkward crops over the years. Here's the part that matters more than most guides admit. Instagram applies its own compression regardless of what you upload. Uploading a 4K image won't give you 4K output. The app resamples everything down to somewhere around 1080 pixels on the longest side. So there's genuinely no benefit to uploading larger files except that it might trigger a slightly more aggressive compression pass. The sweet spot is uploading at the exact pixel dimensions the platform expects, in sRGB color space, as a JPEG under five megabytes. Anything outside those parameters and you're just making Instagram's servers work harder for no visual gain. I also found that exporting with "Embed Color Profile" turned on sometimes causes issues. Instagram doesn't always handle embedded ICC profiles well and can shift your colors slightly after upload. I now export without embedded profiles and just trust the sRGB default. It's a minor thing but noticeable if you're comparing the preview to the posted version side by side.
Get the Full Details

Quick Reference
Square post: 1080 by 1080 pixels. Portrait post: 1080 by 1350. Landscape post: 1080 by 608. Story and reel: 1080 by 1920. Profile picture: 320 by 320 uploaded, displays at 110 by 110. Carousel: same as post formats but keep one aspect ratio per set. All formats should be in sRGB, JPEG format, under five megabytes. If you want something to reference while you work, I put together a simple one-page sheet with all the dimensions laid out. You can grab it at this link. It's just the numbers in a clean layout. Nothing fancy. It's what I wish I'd had when I started figuring this out instead of Googling each format separately and getting conflicting advice from outdated sources.
When These Guidelines Break Down
There are situations where the standard sizes don't help. IGTV videos, for instance, have their own long-form video specs that are separate from the post dimensions. Highlights have a circular crop that eats into your frame differently than the profile picture. And if you're doing ads through Meta Ads Manager, the recommended sizes shift slightly because the ad placements cover more screen real estate. For organic posts though, the sizes above cover almost everything. The few exceptions are niche enough that you'll probably notice them as you hit them. The biggest mistake I see people make is treating this like it needs to be perfect down to the pixel. It doesn't. Instagram's compression and reformatting will adjust things slightly either way. Aim for the right ratio and the right general dimensions, keep your files reasonable, and move on. The difference between 1080 by 1348 and 1080 by 1350 is not something anyone can spot in the feed.