Social media and platform image sizes
The default shape. It takes the most feed height, and it gives up only about three percent off each side to the centred 3:4 grid tile.
Cropped in your browser · your image is never uploaded
Seventy-three placements across nineteen platforms, from a single upload: social feeds and stories, ad units, marketplace listings, email headers and podcast artwork. Drop one image in and download the whole set as a ZIP, each crop at its exact size with the interface overlays marked.
How to use the social media and platform image sizes
The reason to do this in one pass is that the crops disagree with each other. A 9:16 story and a 1.91:1 link preview cannot both keep the edges of the same design, so the only image that survives every placement is one whose important content sits in a centred square. Check the set after exporting rather than assuming: it is common for a design that looks fine at 1200 × 630 to lose a logo entirely at 1080 × 1920. What follows is the part the dimensions do not tell you, grouped by the kind of placement rather than by platform, because the traps repeat.
Vertical: the interface owns both ends
Every vertical placement here is 1080 × 1920, and every one of them lays its own chrome over yours. Instagram covers roughly the top 14 percent with the profile row and the bottom 20 with the reply bar. A Reel takes more at the bottom for the caption and a strip down the right for the like, comment, share and audio buttons, and its cover is never shown at 9:16: the feed crops it to 4:5 and the profile grid to a centred 3:4 tile, so cover text has to survive both. TikTok takes more again, and its own auto-captions land in the same crowded bottom area, which is why burning your subtitles higher in the frame is the reliable fix rather than hoping the platform places them somewhere sensible. WhatsApp is the gentlest, roughly the top tenth and the bottom fifth, and the harshest on quality: a status is recompressed hard, so bold shapes survive and fine detail does not. Snapchat keeps the bottom fifth for the attachment call to action, and a Spotify Canvas gives up the bottom third to the player controls.
Two limits here are not pixels at all. An Instagram Reel runs to three minutes at most. TikTok accepts up to 287.6 MB uploaded from the iOS app and 72 MB from Android, with more allowed through the web uploader, and it letterboxes a landscape upload with bars that consistently underperform against native vertical.
Avatars are judged at display size
Upload a 320 or 400 pixel square and the file is fine. The number that decides whether the avatar works is the size it is rendered at, and it is far smaller than most people picture. Facebook shows one at 176 on a desktop profile, 128 on mobile and 40 pixels in a comment thread. Instagram shows one at 110 on a profile and 32 beside a post. TikTok shows one at roughly 48 in the feed, with the follow button overlapping its lower edge. All of them mask the square to a circle, so the corners go too. At 32 pixels a wordmark is a grey smudge; a single face, one letter or one solid shape is what reads. Podcast artwork has the same problem from the other direction. You supply 3000 square, a directory listing shows about 300, and the now-playing bar shows 55, so the large file exists for a view almost nobody opens.
Link previews come from the page, not from an upload
The Open Graph image is the one picture on this list you never upload anywhere. Facebook, LinkedIn, WhatsApp, Slack, Discord and X all read og:image from the page being linked to, which is why two failures are more common than a wrong size. A relative URL fails silently, because scrapers do not resolve it. And Facebook caches what it fetched, so a corrected tag changes nothing until the URL is re-scraped in the Sharing Debugger. X departs from the pattern once there is more than one image: a single picture shows at 16:9 uncropped, two sit side by side with each cropped to a tall half, and four become a 2 × 2 grid of squares, so a 16:9 that looks right alone loses its sides the moment a second one joins it.
Headers and banners are the extreme ratios
These are the placements where the shape itself is the constraint. An X (Twitter) header is 3:1 with your avatar over the lower left, and mobile shows a shorter slice than desktop, so the vertical centre is the only reliably visible band; X is also harsher on JPEG than on PNG, so a header of flat colour and type holds up better as a PNG under the 5 MB limit. LinkedIn uses two different strips, 1584 × 396 on a personal profile against 1128 × 191 on a company page, which is nearly 6:1. A subreddit banner is 5:1 at the large height, and a phone shows only a central portion of that width, which is why the circular icon, shown at one consistent size everywhere, is the more reliable place to put identity. Reddit’s help pages state a floor rather than a target here — at least 1072 × 128 on desktop, 1080 × 128 in the apps — and uploading the floor is how a banner arrives soft on a wide screen; export 1920 × 384 and let Reddit come down from it. Discord gates its banners on boost level and Nitro rather than on pixels. Twitch has the one banner people actually look at: the offline player image, which fills the player whenever you are not streaming.
Marketplaces regulate content, not only pixels
No cropper can fix this group, because the rules are about what is in the frame. An Amazon main image has to be on pure white at RGB 255, 255, 255, with the product filling at least 85 percent, and no text, logos, watermarks, borders, props or inset images; Amazon enforces it by suppressing the listing. eBay bans the same additions on a main photo, along with stock photographs standing in for used goods. Both disable zoom below 1600 pixels on the longest side, and zoom is exactly what a buyer uses to judge condition. Etsy crops your square first image to a 5:4 landscape for the search thumbnail, taken from the middle, so the top and bottom disappear in the one place shoppers are choosing between listings. Shopify generates its own resized copies, so uploading 2048 costs the store nothing, and a collection grid looks unfinished when some products were shot square and others portrait.
Email is the oldest constraint here
Six hundred pixels wide, unchanged for two decades because it fits the narrowest preview panes. Export at 1200 and set the HTML width attribute to 600 so it stays sharp on a high-density screen. The bigger problem is not the width: many clients block images by default, so a header carrying the whole message arrives as a blank rectangle and the alt text is all the reader gets. Several clients invert backgrounds in dark mode, which makes a logo saved as black on transparent vanish, so give it a background of its own. And several clip a message that grows too large, which is the reason to keep the header itself under about 200 KB.
Where these numbers come from
Most of these figures come from the platforms’ own published specifications and were checked on the review date shown. Some are not published anywhere: the size an avatar is rendered at, and the exact share of a vertical frame an interface covers, are measured rather than documented, and several placements were added to this page after that date. Platforms change both without announcing it, so treat a spec that looks wrong as worth verifying rather than as gospel.
What people use it for
- Exporting an Instagram carousel where every slide keeps the same ratio
- Sizing an Instagram Reel cover that survives both the feed and the grid crop
- Setting an Instagram profile picture that still reads at 32 pixels
- Building a Facebook ad set for the feed, stories and the right column
- Sizing a Facebook carousel where every card has to share one ratio
- Making a Facebook event cover the mobile overlay does not swallow
- Cropping a Facebook profile picture for the 40-pixel comment view
- Sizing a LinkedIn profile banner around the photo in the lower left
- Preparing a LinkedIn document post as square PDF pages
- Setting an Open Graph image that every chat app crops sensibly
- Sizing an X (Twitter) header so the avatar does not cover the wordmark
- Preparing a pair or a set of four images for a single X post
- Making a Pinterest pin at the 2:3 ratio below which the feed truncates
- Building a purpose-made cover pin for a Pinterest board
- Sizing a subreddit banner that survives the narrow mobile slice
- Cutting a Reddit community icon under the 500 KB cap
- Setting a Discord server banner, invite splash and icon in one pass
- Cutting a Twitch profile banner and offline player banner
- Making a stack of Twitch info panels at exactly 320 pixels wide
- Exporting a TikTok frame clear of the caption and the button rail
- Sizing a TikTok profile picture around the follow button
- Sizing a WhatsApp status that survives heavy compression
- Preparing a Snapchat vertical ad and its Discover tile
- Making a Spotify Canvas whose subject clears the player controls
- Exporting podcast cover art that still reads at 55 pixels
- Shooting an Amazon main image on pure white at 85 percent fill
- Sizing eBay listing photos large enough to enable zoom
- Cropping an Etsy listing image for the 5:4 search thumbnail
- Preparing Shopify product images at the size that enables zoom
- Building an email header that stays sharp at 600 pixels wide
Questions
There is no single size. The three that cover most work are 1080 × 1350 for a feed post, 1200 × 630 for a link preview and 1080 × 1920 for anything vertical.
Only if the important content sits in a centred square. The crops disagree too much otherwise.
No. The cropping happens in your browser and the ZIP is built there too.
1200 × 630. Facebook, LinkedIn, WhatsApp, Slack, Discord and X all read og:image, and the URL has to be absolute or scrapers ignore it.
Facebook caches what it scraped. Re-scrape the URL in their Sharing Debugger to force a refresh.
1080 × 1920 on every platform that has one. What differs is the interface: Instagram covers roughly the top 14 and bottom 20 percent, TikTok more.
Upload 320 × 320 for Facebook and Instagram, 400 × 400 for X, LinkedIn and TikTok. That is the easy half: a pfp or dp is judged at the size it is rendered, not the size you sent.
Because it is judged at display size, not upload size: 40 pixels in a Facebook comment, 32 beside an Instagram post, 48 in a TikTok feed. Only a single letter or shape survives.
1500 × 500, a 3:1 strip under 5 MB. Your avatar covers the lower left and mobile shows a shorter slice than desktop, so keep anything readable in the vertical centre. A single post image is 1600 × 900.
1080 × 1080 for the feed and 1080 × 1920 for stories and Reels. Meta will auto-crop one creative across placements, but the results are frequently poor.
Not as a rejection; Meta dropped it. Text-heavy creative still measurably underperforms in the auction, so the guidance outlived its enforcement.
Amazon 2000 square, eBay 1600, Etsy 2000, Shopify 2048. Below roughly 1600 on the longest side most of them disable zoom, which is the one ecommerce image feature buyers genuinely use.
Yes, pure white at RGB 255, 255, 255, with the product filling at least 85 percent of the frame. Text, logos, watermarks, borders and props are all prohibited.
600 pixels, which is the safe newsletter width in every common client and has not moved in twenty years. Export at 1200 and set the HTML width attribute to 600, or it softens on a retina screen.
1000 × 1500, a 2:3 vertical. Much taller gets truncated in the feed, which usually takes the call to action with it.
1920 × 384 at the large banner height, 1920 × 256 at medium and 1920 × 128 at small. Reddit’s help pages quote a much lower floor, 1072 × 128 on desktop and 1080 × 128 in the apps, but that is the minimum it accepts rather than the size to export at.
300 × 300, under 500 KB, masked to a circle. The weight cap is the one that bites: 500 KB is reachable by a detailed PNG even at that size.
A profile banner is 1200 × 480 and the offline player banner 1920 × 1080. Panels are 320 wide, conventionally 300 tall, under about 2.9 MB each.
Almost always the boost level or Nitro requirement rather than the file. A server banner needs boost level 2, a profile banner needs Nitro.
3000 × 3000, RGB rather than CMYK, under 512 KB. Design it for the 55-pixel now-playing bar, which is where it is actually seen.
Most match the platforms’ published specifications and were checked on the review date shown. Some were never published: display sizes and interface coverage are measured, and several placements were added after that date. Platforms change both without announcing it.
Yes. Select the placement and use the single download button; the ZIP is for when you want the set.