Compress to KB topic guide

Compress images for Instagram: hit the 8 MB JPEG upload limit

Direct answer

When you publish photos to Instagram through the Graph API or prepare files for the in-app feed, byte size and pixel shape both matter. Meta’s IG User Media reference requires JPEG for feed images, Story images, and Reels cover photos, each with an 8 MB maximum file size — not the 5 MB caps on WhatsApp Cloud API image messages or LinkedIn share-box photos. Instagram Help explains how uploaded photos are sized on the feed (best quality up to 1080 pixels wide). If your camera export exceeds 8 MB or you want less re-encoding pain after upload, compress to a deliberate KB target and export JPEG before you post or call the API.

Try the Compress to KB

What this workflow handles

Treat Instagram Graph API’s 8 MB JPEG ceiling as the primary byte budget for API publishing (feed image, Story image, Reels cover photo). The IG User Media docs state feed images must use aspect ratio between 4:5 and 1.91:1 (width:height), minimum width 320, maximum width 1440, and sRGB color space (other spaces are converted). Story images are JPEG, 8 MB max, with 9:16 recommended to avoid crop or blank space. Reels cover photos are JPEG, 8 MB max, sRGB, with 9:16 recommended. PNG is not an API image format for IG User Media create on those image paths — use JPEG when publishing via Graph. For consumer app uploads, Instagram Help — Image resolution of photos you share states Instagram uploads at best quality up to a width of 1080 pixels; widths between 320 and 1080 are kept at original resolution when aspect ratio is between 1.91:1 and 3:4 (1080 wide → height 566–1440); unsupported ratios are cropped; below 320 is enlarged to 320; above 1080 is sized down to 1080. To share at 1080 wide, upload at least 1080 pixels wide with aspect between 1.91:1 and 3:4. This page is about file-size compression, not preset canvas sizes — for cross-network dimensions see social-media-image-resizer separately. Enter a Compress to KB target under 8192 KB (commonly 6000–7800 KB), quality-sweep at dimensions that already meet Help and API rules, and downscale only if the quality floor still misses the budget. Beita’s Compress to KB uses a temporary analysis upload with no long-term storage; see the Privacy Policy for retention details.

Use Compress to KB with a target under 8192 KB (for example 6000–7800 KB) before you publish a JPEG to Instagram or upload in the app. For cross-network width and height presets, see Social media image resizer. For Meta Cloud API WhatsApp image messages at 5 MB, see Compress image for WhatsApp.

How to use it

  1. Open Meta’s IG User Media reference and note 8 MB JPEG for feed, Story, and Reels cover; feed aspect 4:5–1.91:1, width 320–1440, sRGB; Story/Reels cover recommend 9:16.
  2. Read Instagram Help — Image resolution of photos you share for in-app feed behavior (1080 px wide best quality, 1.91:1–3:4 aspect for 320–1080 width retention).
  3. Export JPEG for API publishing (PNG is not listed for those IG User Media image create paths); for app posts, still prep ~1080 px-wide JPEG when you want feed quality control.
  4. Enter a Compress to KB target under 8192 KB (commonly 6000–7800 KB), quality-sweep at the current dimensions first, and allow stepped downscale only if the quality floor still exceeds the budget.
  5. Upload or publish the compressed JPEG, confirm at or under 8 MB for API calls, and re-read Meta or Help docs if validation still fails.

Frequently asked questions

What is Instagram’s image file size limit for Graph API publishing?

Meta’s IG User Media reference lists JPEG format with an 8 MB maximum file size for feed images, Story images, and Reels cover photos. Treat 8192 KB as the ceiling and aim slightly lower for encoding headroom.

What aspect ratio and width does Instagram require for feed images via the API?

IG User Media states feed image aspect ratio must be within 4:5 to 1.91:1 (width:height), minimum width 320, maximum width 1440, JPEG, sRGB. Crop or resize in your editor before compressing if your export breaks those rules.

How does Instagram size photos I upload in the app?

Instagram Help — Image resolution of photos you share states uploads are processed at best quality up to 1080 pixels wide. Widths 320–1080 stay at original resolution when aspect ratio is between 1.91:1 and 3:4; other ratios may be cropped; below 320 is enlarged to 320; above 1080 is reduced to 1080. Preparing a ~1080 px-wide JPEG and compressing before upload lets you control quality before Instagram’s own re-encode.

Story and Reels cover: same 8 MB JPEG rule?

Yes for API paths. IG User Media documents Story images and Reels cover photos as JPEG, 8 MB maximum, with 9:16 recommended for Story and Reels cover to avoid crop or blank space. Compress under the same 8192 KB budget as feed images.

Can I publish PNG to Instagram via Graph API?

No for the standard image create paths covered here. IG User Media specifies JPEG for feed images, Story images, and Reels cover photos. Convert to JPEG before API publish; for in-app uploads, follow Instagram Help resolution guidance rather than assuming PNG is accepted on every path.

What KB target should I use in Compress to KB?

Start from 8192 KB (8 MB) and leave headroom: 6000–7800 KB is a practical target for a single Instagram JPEG. Quality-sweep first at the current pixel dimensions when you already meet width and aspect rules; allow stepped downscale only if the quality floor still exceeds the budget. web.dev’s compress-images guide recommends experimenting with quality rather than assuming one universal setting.

JPEG quality tips before Instagram re-encodes?

Prefer JPEG for photographs destined for Instagram. Compress to KB under the 8 MB API cap (or tighter for in-app uploads) so the file is accepted and you choose the starting quality. Instagram may still re-encode after upload — compressing first reduces surprises from oversized originals.

How is Instagram’s 8 MB limit different from WhatsApp’s and LinkedIn’s 5 MB caps?

All are Meta-family products but different limits and rules. compress-image-for-whatsapp covers Meta Cloud API 5 MB JPEG/PNG image messages. compress-image-for-linkedin covers LinkedIn Help 5 MB share-box photo uploads. This page covers Instagram Graph API 8 MB JPEG for feed, Story, and Reels cover plus Instagram Help feed resolution behavior — not WhatsApp messages or LinkedIn posts.

How is this different from the GitHub, Discord, Telegram, email, and general KB guides?

compress-image-for-github covers GitHub Docs 10 MB image and GIF attachments. compress-image-for-discord covers Discord Support 20 MB free per-file chat uploads. compress-image-for-telegram covers Telegram Bot API sendPhoto 10 MB inline photos. compress-image-for-email covers Gmail and Outlook.com 25 MB message attachment totals. compress-image-for-whatsapp covers Meta Cloud API 5 MB image messages. compress-image-for-linkedin covers LinkedIn Help 5 MB share photos. compress-image-to-kb covers forms and marketplaces (GOV.UK, LinkedIn profile 8 MB, Shopify) without isolating Instagram Graph JPEG rules. For preset dimensions across networks, use social-media-image-resizer — not this byte-budget page. Same Compress to KB tool; different destination budget.

Sources

Explore the compress to kb topic cluster

This guide covers Instagram Graph API JPEG size and Instagram Help feed resolution. Related guides cover general KB budgets, email, WhatsApp, GitHub, Discord, Telegram, and LinkedIn caps, and the Compress to KB tool.

Related guides

All compress to kb guides