Most image-size guides list forty numbers per platform and go stale within a year. You need far fewer. For the nine visual channels covered here, two files handle almost every post: a 1200 x 630 link card for anything that carries a URL, and one square or portrait feed image. The table below holds the documented numbers, each traced to the platform's own documentation.
Two honest caveats before the table. Several platforms publish no organic feed-image spec at all, and third-party cheat sheets fill that silence with invented precision. Where a platform documents nothing, this table says so instead of guessing. Every figure was checked against the linked first-party pages on August 26, 2026.
The reference table
| Channel | Feed image guidance | Documented file cap | What the platform actually documents |
|---|---|---|---|
| 1200 x 627 at 1.91:1 for link posts; keep images wider than 200 px or they render as thumbnails | 3MB, PNG or JPEG | Specs are published for Pages; personal-profile posts have no separate spec, so the Pages numbers are the safest guide | |
| X | No size published for still images; animated GIFs up to 1280 x 1080 | 5MB for images, 15MB for GIFs; JPG, PNG, GIF, WEBP | Media upload limits only, in the developer docs |
| Threads | Width 320 to 1440 px; anything outside that range is scaled | 8MB, JPEG or PNG | Width range, formats, file cap, and a 10:1 maximum width-to-height ratio |
| Bluesky | Up to 4 images per post; the post record stores an aspect-ratio hint | 2MB per image (the limit was 1MB before it was raised) | The post record format itself; alt text is a required field on every image |
| Mastodon | Up to 4 images; files are downscaled to 8.3 megapixels (enough for 3840 x 2160) | 16MB | Project defaults; individual servers can configure different limits |
| Link cards read your Open Graph image: at least 1200 x 630, as close to 1.91:1 as possible | 8MB for Open Graph images | Meta's webmaster guidance for link previews; no organic feed-photo spec | |
| Telegram | Photos are compressed on send; width plus height may total up to 10,000 px | 10MB via the Bot API; aspect ratio at most 20:1 | Bot API sendPhoto limits, which are what scheduling tools publish through |
| Discord | Uploads display at full width in channel; pasted links unfurl from the page's metadata | 10 MiB default per file over the API; Nitro and server boosts raise it | Developer upload limits; no recommended post-image dimensions |
| No organic spec; the ads docs recommend 1200 x 1200 at 1:1, with 1200 x 628 horizontal supported on desktop | 20MB, JPG or PNG, per the ads spec | Ad unit specs only; treat them as the safe ceiling for organic images |
The link card: one 1200 x 630 image for every URL post
When a post carries a link, most platforms ignore any image you attach and build a preview card from the destination page's Open Graph tags. Meta's webmaster guidance asks for an image of at least 1200 x 630 pixels, as close to a 1.91:1 ratio as possible, under 8MB. LinkedIn's documented 1200 x 627 for link posts is the same shape with one pixel shaved off.
That convergence is the useful fact. Discord unfurls pasted links from page metadata, Telegram builds its link previews the same way, and X's card markup can point at the same file most sites already serve as their Open Graph image. One well-made 1200 x 630 card per destination page covers the link preview on every channel in the table.
Feed images: a square and a portrait cover the rest
For posts where the image is the content rather than a link preview, a 1080 x 1080 square clears every documented constraint above. A 1080 x 1350 portrait at 4:5 buys more phone-screen height on feeds that display portrait images in full. Exporting wider than 1440 px mostly wastes bytes: Threads scales anything above that width down, and no channel in the table documents a benefit past it.
File size is the constraint people hit in practice, and Bluesky's 2MB per-image cap is the tightest documented number in the table. Export under 2MB and every cap listed above passes without a second export.
- Export JPEG for photographs and PNG for screenshots or text-heavy graphics.
- Keep every feed image under 2MB; the tightest documented cap then never rejects you.
- Export at 1080 to 1440 px on the long edge; larger files get downscaled, not displayed.
- Write alt text everywhere. Bluesky's record format requires the field, and Mastodon communities expect it filled in.
- Put no essential words near the edges; crops between platforms are undocumented and change without notice.
What this table deliberately leaves out
You will find no story sizes, ad placements, or engagement claims here, and no pixel recommendations for platforms that publish none. Reddit is the clearest case: its organic image limits are simply not documented, so the ads specification is cited as the ceiling rather than dressing a guess up as a fact. When a number here disagrees with a cheat sheet, click the source under this article and believe the platform.
Image dimensions are half of the formatting job. The other half is text limits, which have their own reference table.