Home / Blog / Compress Images for Instagram

How to Compress Images for Instagram Without Losing Quality

April 7, 2026 · 7 min read · By Saint Web Image

You upload a gorgeous 24-megapixel photo to Instagram. It comes out looking like a blurry, over-compressed mess. You're not imagining it, Instagram actively destroys your image quality. The fix isn't to upload a bigger file. It's to upload a smaller, smarter one so Instagram has nothing left to ruin.

The short version: Resize to 1080×1350 (4:5 feed post) or 1080×1920 (9:16 story), export as JPEG at quality 90+, and upload. Do it in your browser with Saint Web Image, no upload to any server required.

Why Instagram destroys your photos

Instagram has to serve hundreds of millions of posts per day to phones on flaky mobile connections. To keep things fast and cheap, it runs every uploaded image through an aggressive compression pipeline:

  1. Resize. Anything wider than 1080 pixels gets scaled down.
  2. Re-encode. The image is re-compressed to JPEG at roughly quality 75.
  3. Strip metadata. EXIF, color profiles, and embedded thumbnails are removed.

If the photo you upload is already close to the final state Instagram wants, 1080 pixels wide, JPEG, high quality, sRGB color space, the compression step has almost nothing to do. Your photo survives intact. If your photo is far from that state (say, a 6000-pixel-wide PNG in Adobe RGB), Instagram has to do a lot of work, and every step introduces quality loss.

The trick is doing the conversion yourself, with settings you control, before Instagram gets its hands on your photo.

The exact dimensions Instagram wants

Instagram's own help docs are vague about this. Here's what actually works in practice:

Post typeAspect ratioDimensions
Feed, portrait (recommended)4:51080 × 1350
Feed, square1:11080 × 1080
Feed, landscape1.91:11080 × 566
Stories9:161080 × 1920
Reels9:161080 × 1920
Profile picture1:1320 × 320 (displayed), upload 1080 × 1080
CarouselMatch first slide1080 × 1080 or 1080 × 1350

The golden rule: everything is 1080 pixels on the short side. Instagram's pipeline assumes that. Give it anything else and you're asking for unnecessary re-compression.

Why 4:5 portrait beats 1:1 square: portrait posts take up more vertical space in the feed, which means more attention and typically more engagement. If you only remember one number from this article, make it 1080×1350.

The file format question: JPG vs PNG vs HEIC

Photos: always JPG

Instagram converts everything to JPEG internally. Uploading a 12 MB PNG just wastes bandwidth and triggers heavier compression on Instagram's end. Export your photo as JPEG at quality 90–95 before uploading.

Graphics and screenshots: still JPG (usually)

PNG seems like the obvious choice for graphics with text and sharp edges. But Instagram will convert it to JPEG anyway, and JPEG is bad at sharp edges, producing visible halos around text. Two workarounds:

iPhone HEIC photos

If your iPhone is set to save photos in HEIC format, Instagram's mobile app can upload them directly, but the desktop uploader can't. More importantly, Instagram still re-encodes HEIC to JPEG on their servers, so there's no quality benefit to starting with HEIC. Convert HEIC to JPG first, then upload.

See our guide: How to convert HEIC to JPG without uploading your photos.

Step-by-step: compress for Instagram with Saint Web Image

  1. Open saintwebimage.com.
  2. Drag your photo(s) into the drop zone. You can batch up to 50 at a time.
  3. In the Conversion Controls panel, set the format to JPEG.
  4. Set quality to 92. This gives you visually-perfect results with reasonable file sizes.
  5. Under Resize, choose the aspect ratio preset that matches your post type:
    • Instagram Portrait (4:5) for feed posts
    • 1:1 Square for square feed posts
    • Stories/Reels (9:16) for stories and reels
  6. Set the width to 1080. The height will auto-calculate based on the preset.
  7. Click Convert.
  8. Click Download and upload the result to Instagram.

Every step runs in your browser. Your photos never get uploaded to any server, which is especially important if they contain GPS metadata or subjects who didn't agree to a random website seeing their face.

Try the converter →

Common mistakes that kill Instagram quality

Uploading from the iPhone Photos app without editing

iPhone photos are captured at 12 megapixels (4032×3024). Instagram's app scales them down to 1080×810 before uploading. That downscaling happens inside the app, with no quality control. Resizing yourself first gives better results because you can use a high-quality algorithm and export at your chosen JPEG quality.

Using a screenshot of a photo

Taking a screenshot of a photo on your phone creates a PNG that Instagram then compresses to JPEG, stacking two lossy steps on top of the original. Always upload the source photo, not a screenshot.

Exporting at too-low quality to "pre-compress"

It's tempting to export at JPEG quality 60 thinking "Instagram will compress it anyway." Don't. Instagram's compression is applied to whatever you give it, so a low-quality input becomes an even worse output. Start high (quality 90+) so Instagram's compressor has headroom.

Using Adobe RGB or P3 color spaces

Instagram expects sRGB. Photos in wider color spaces get converted, and the conversion often shifts colors subtly, reds lose saturation, skies get cooler. If you're editing in Lightroom or Photoshop, export as sRGB explicitly.

Carousel posts with mixed aspect ratios

Instagram uses the first slide's aspect ratio for the whole carousel. Slides with different ratios get cropped or letterboxed. Pick a ratio and resize every slide to match before uploading.

How much file size should your Instagram photo be?

At 1080×1350 and JPEG quality 92, a typical photo will be 300–500 KB. A photo with lots of detail (foliage, crowds, patterns) might hit 800 KB. Anything above 1 MB means your quality setting is too high or your dimensions are wrong, bring them down.

Instagram's maximum file size is 30 MB, but that's a ceiling, not a target. Huge files don't give you better quality; they just get compressed harder on the way in.

Frequently asked questions

What is the best image size for Instagram?

For feed posts, 1080×1350 pixels (4:5 portrait) gives the highest quality and takes up the most screen real estate. For stories and reels, use 1080×1920 (9:16). For square posts, use 1080×1080 (1:1).

Why does Instagram make my photos look blurry?

Instagram re-compresses every uploaded image to save bandwidth. If your photo is larger than 1080 pixels wide, doesn't match Instagram's preferred aspect ratios, or is already heavily compressed, the re-compression becomes visible as blur and artifacts. Resizing to exactly 1080 pixels wide before uploading prevents this.

Should I upload JPG or PNG to Instagram?

Always JPG for photos. Instagram converts everything to JPG anyway, so uploading PNG just wastes bandwidth and can trigger heavier re-compression. PNG only makes sense for graphics with sharp text or transparent elements, and even then, Instagram will flatten the transparency.

What quality setting should I use for Instagram uploads?

Export at JPEG quality 90–95. Instagram will re-compress to roughly quality 75 internally, so starting high gives the algorithm more headroom to work with. Below quality 85, you'll see visible banding and artifacts in the final post.

Wrapping up

Instagram's compression is unavoidable, but its damage is. Resize to 1080 pixels on the short side, match one of Instagram's preferred aspect ratios, export JPEG at quality 92, and your photos will survive the upload looking nearly identical to the original. A two-minute detour through a proper converter beats hours of fiddling with phone settings and re-uploading.

Resize for Instagram now →

Found this useful? Share it: saintwebimage.com