Facebook Image Sizes and Post Dimensions (2026)

Facebook image sizes for feed posts, Stories, Reels, and link previews — plus the file limits that apply when you publish programmatically.

Facebook Image Sizes and Post Dimensions (2026)
Quick answer

Facebook feed images display best at 1080 × 1350 (4:5) or 1080 × 1080 (1:1). Link previews pull a 1200 × 630 og:image at 1.91:1. Stories and Reels are 1080 × 1920 (9:16). Meta rejects anything under 200 × 200 pixels, and an image upload through Postproxy can be up to 10 MB.

Facebook image sizes at a glance

There are two different questions hiding behind “what size should a Facebook image be”: what renders well in the feed, and what the API will actually accept. They have different answers, and only the second one will fail your upload.

PlacementUpload atAspect ratioNotes
Feed image (portrait)1080 × 13504:5Tallest ratio the feed shows uncropped
Feed image (square)1080 × 10801:1Safe across desktop and mobile
Feed image (landscape)1200 × 6301.91:1Same ratio as link previews
Link preview (og:image)1200 × 6301.91:1Comes from the destination page, not an upload
Story1080 × 19209:16Video or image
Reel1080 × 19209:16Minimum 540 × 960

Portrait 4:5 takes more vertical space in a mobile feed than square or landscape, which is why it is the common default for organic Page posts.

What is the minimum image size Facebook accepts?

Meta publishes one hard floor and it applies broadly: 200 × 200 pixels. Below that, the image is rejected rather than upscaled.

For link preview images, Meta’s sharing documentation is explicit:

  • Minimum allowed dimension: 200 × 200 px
  • Use at least 600 × 315 px to get the large-image link post layout instead of a thumbnail
  • Use at least 1200 × 630 px for high-resolution displays
  • Keep the image as close to 1.91:1 as possible to avoid cropping in the feed
  • The file must not exceed 8 MB

The link preview image is not something you upload with the post. Facebook reads it from the og:image tag on the page being shared. If a shared link looks wrong in the feed, the fix is on the destination page, not in the composer.

What are the file limits when publishing via API?

These are the limits that apply when you publish to a Facebook Page through the API:

MediaMax sizeFormatsCount per postDuration
Image10 MBjpg, png, gif, webp10
Video4 GBmp4, mov11 s – 4 h

Constraints that catch people out:

  • Minimum image dimensions are 200 × 200 px. Smaller images fail.
  • Images and video cannot be mixed in one post.
  • Text-only posts are allowed — media is optional on a feed post, but required for Reels and Stories.
  • The caption limit is 63,206 characters for feed posts and 2,200 for Reels. Full numbers for every network are in the social media API rules reference.

What are the Facebook Reels video specs?

From Meta’s Reels publishing documentation:

PropertyRequirement
Resolution1080 × 1920 recommended, 540 × 960 minimum
Aspect ratio9:16
Duration3 to 90 seconds
Frame rate24 to 60 fps, fixed
Container.mp4 recommended
Video codecH.264 or H.265, closed GOP of 2–5 s, progressive scan, 4:2:0 chroma
Audio codecAAC-LC, 48 kHz, stereo, 128 kbps or higher

A Reel outside the 3–90 second window is rejected at publish time, not silently trimmed. Feed video is far more permissive — up to 4 hours through the API — so a video that works as a feed post will not necessarily work as a Reel.

What sizes does Facebook not publish?

Profile pictures and cover photos have no fixed pixel spec in Meta’s developer documentation. Facebook re-crops them per surface — desktop, mobile, and the Page preview card each show a different region of the same file. Any “official” cover photo dimension you find is someone’s measurement of one layout at one point in time.

The practical approach: upload something large and 1.91:1 or wider, keep logos and text away from the edges, and check the result on mobile. Do not build a pipeline that depends on an exact cover-photo crop staying put.

Publishing an image at the right size via API

Media is passed by URL — Postproxy fetches it and publishes:

Terminal window
curl -X POST "https://api.postproxy.dev/api/posts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"post": { "body": "New release notes are up." },
"profiles": ["facebook"],
"media": ["https://yourcdn.com/release-1080x1350.jpg"],
"platforms": {
"facebook": {
"format": "post",
"page_id": "123456789012345"
}
}
}'

To schedule it instead of publishing immediately, add an ISO 8601 scheduled_at to the post object. The Facebook API reference has the full parameter list, and the Facebook Graph API posting guide covers the direct-to-Meta path if you are building the integration yourself.

Sizing across multiple platforms

If the same image goes to Facebook, Instagram, and LinkedIn, the file limits diverge before the dimensions do — Instagram takes JPEG only at up to 8 MB, LinkedIn takes up to 8 MB across jpg/png/gif, Facebook takes 10 MB including webp. A 4:5 crop at 1080 × 1350 is the one asset that works uncropped on all three feeds.

Related reading:

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.