To compress photos for Instagram without losing quality, do three things in this order: crop to 4:5 or 3:4 and resize to exactly 1080 px wide, sharpen lightly on the resized pixels, then export a JPEG in sRGB that lands between 500 KB and 1 MB. That file already matches what Instagram would produce on its servers, so its compression pass has nothing to do but wave it through. Every workflow below is the same recipe with different buttons: one for people who only have a phone, one for Lightroom, one for Photoshop.

What "compressing for Instagram" actually means

Compress usually means "make the file smaller", and that is the wrong goal here. A 200 KB file is small and posts badly. What Instagram wants is a file that needs no work.

There are three separate parts to a good Instagram export:

  • Pixels. 1080 px wide, in a shape Instagram accepts. This decides sharpness, because it decides whether Instagram resizes at all.
  • Sharpening. Every downscale softens edges a little. A light sharpen on the final pixels puts the edge contrast back. It only works after the resize, never before.
  • Bytes. The JPEG quality setting, which sets the file size. Too low and you throw detail away; too high and Instagram compresses harder.

Get the pixels right first, the sharpening second, and let the bytes follow. The why Instagram compresses photos guide explains what goes wrong in any other order.

The numbers to hit

FormatPixelsFile size
Portrait 4:51080×1350500 KB to 1 MB
Tall 3:41080×1440500 KB to 1 MB
Square 1:11080×1080400 KB to 1 MB
Landscape 1.91:11080×566250 KB to 1 MB
Story or reel cover1080×1920500 KB to 1.5 MB

Format JPEG, colour sRGB, no HDR. For carousels, every slide at one size; the carousel size guide explains why.

The 500 KB to 1 MB rule

Instagram re-encodes every upload as JPEG. The file you give it changes how that re-encode behaves.

Under about 300 KB at 1080 px, the photo has already lost the fine detail Instagram's encoder would have kept, and the second pass turns the remaining edges blocky. Over about 2 MB, the server compresses harder, presumably to bring the stored copy back into its normal range. The band between 500 KB and 1 MB comes through looking like what you uploaded. The tool's presets aim at roughly 850 KB for exactly that reason.

Rule: at 1080 px wide, a JPEG between 500 KB and 1 MB. Not smaller to save space, not bigger to keep quality. Both make the post worse.

If you only have a phone

Phone gallery apps are bad at this. iOS Photos cannot export at an exact pixel width, Google Photos cannot either, and neither sharpens after a resize. Most editing apps export at the original size and leave the downscale to Instagram, which is the one thing you are trying to avoid.

The browser route, using the resize image for Instagram page, fixes all of that without installing anything:

  1. Open IGCOMPRESSOR in Safari on iPhone or Chrome on Android. On iPhone, Safari matters, because it is the browser that can open HEIC files directly.
  2. Choose the Instagram size: Post 4:5 for most photos, Post 3:4 if you want to fill the profile grid.
  3. Drop or choose the photo, then drag the preview to set the crop.
  4. Check the result with Compare and the 1:1 pixels view. The file size is shown next to it.
  5. Tap Share to send the file straight to Instagram or save it to Photos, then post it with Upload at highest quality switched on.

The tool resizes in steps, applies a one-pixel unsharp mask on the final pixels, and searches for the JPEG quality that lands in the 500 KB to 1 MB band. It runs entirely on the phone. No photo is uploaded, and it keeps working with Wi-Fi off. It takes up to 50 photos at once, which is handy for carousels.

Try it on your own photoSocial-ready photos, smaller files, nothing uploaded
Compress a photo

If you edit in Lightroom mobile, its export dialog can do most of this as well: JPG, custom dimensions chosen so the width comes out at 1080 (a long side of 1350 for a 4:5 crop, 1440 for 3:4), output sharpening for Screen at Standard, and sRGB as the colour space.

Lightroom Classic export settings

  1. Crop to 4:5 (or 3:4) in the Develop module, so you decide what stays in the frame.
  2. File › Export. Under File Settings choose JPEG, Color Space sRGB, Quality between 76 and 90. Start at 84 and check the resulting size.
  3. Under Image Sizing tick Resize to Fit. For a portrait or square crop choose Short Edge and enter 1080. For a landscape crop choose Long Edge and enter 1080. Either way the width ends up at 1080 px. Leave Don't Enlarge ticked; the resolution box does not matter for screens.
  4. Under Output Sharpening tick Sharpen For Screen, Amount Standard. Lightroom applies this after the resize, which is exactly where it belongs.
  5. Under Metadata choose Copyright Only. Instagram strips metadata anyway, and this saves a few kilobytes.
  6. Export, then look at the file size. Under 500 KB: raise Quality. Over 1 MB: lower it.

Two notes. Lightroom's quality slider works in steps, so moving it by one or two points often changes nothing; move it by eight or so and check again. And if you normally hand files to a scheduling app, export the JPEG yourself first and upload that, so the resize and sharpening are yours rather than the scheduler's.

Photoshop export settings

  1. Crop with the Crop tool set to a 4:5 ratio (type 4 and 5 into the ratio boxes) or 3:4.
  2. Image › Image Size. Set Width to 1080 pixels with the chain link on so the height follows. Set Resample to Bicubic Sharper (reduction). Click OK.
  3. Filter › Sharpen › Unsharp Mask. Amount 40 to 60%, Radius 0.6 to 1.0 pixels, Threshold 0 to 2. Judge it at 100% zoom: edges should look crisp, not outlined.
  4. If the document is not already sRGB, Edit › Convert to Profile and pick sRGB IEC61966-2.1.
  5. File › Export › Export As. Format JPG, Quality around 80, Convert to sRGB ticked, Embed Color Profile ticked. The dialog shows the file size; move Quality until it sits between 500 KB and 1 MB.

Save for Web (Legacy) works the same way with quality 70 to 80 and Convert to sRGB on. Avoid Save As at quality 12: it usually lands well over 1 MB, and the extra bytes buy nothing after Instagram's pass.

Check before you post

Three quick checks take twenty seconds. Zoom to 100% and compare against the original (Compare and 1:1 pixels in the tool, or side by side in your editor). Confirm the pixel dimensions in the file's details. Confirm the file size. If all three are right, upload with Upload at highest quality on and Use less mobile data off, on Wi-Fi, and let the upload finish before you lock the phone. The HD upload settings guide shows where those switches live.

What compression cannot do

No export setting stops Instagram from re-encoding the file. The method above makes that re-encode invisible, which is the most anyone can do. It also cannot rescue a soft source: missed focus, motion blur, a screenshot, a photo saved from WhatsApp. Sharpening a soft photo makes the noise crisper, not the subject. Start from the original file, straight from the camera or the editor, every time.

Checklist

  • Crop to 4:5 or 3:4 yourself, before anything else
  • Exactly 1080 px wide
  • Sharpen after the resize: Screen and Standard in Lightroom, Unsharp Mask 40 to 60% at 0.6 to 1 px in Photoshop, automatic in the tool
  • JPEG, sRGB, between 500 KB and 1 MB
  • Upload at highest quality on, data saver off, Wi-Fi

That is the whole method. Once the export settings are saved as a preset, or the tool is bookmarked, it takes less time than the upload itself.