Open Graph image dimensions for every major platform in 2026
One image won't satisfy every platform. The dimensions that actually work for Facebook, LinkedIn, Twitter, Discord, Slack, and iMessage - with documented fallbacks.
Every “recommended OG image size” article confidently states the same number - usually 1200x630 - and stops there. The reality is messier: each platform crops, resizes, and falls back differently. Here’s what actually works in 2026.
The minimum that satisfies everyone
If you can only ship one image, ship 1200x630 as JPEG or PNG, under 8 MB. It clears Facebook’s strict guidance (>=1200x630), LinkedIn’s (1200x627), Twitter’s summary_large_image (>=1200x675 strict, >=600x335 fallback), Discord’s embed, and Slack’s unfurl.
It will not satisfy twitter:card=summary, which expects a 1:1 image. That one has its own column below.
Per-platform breakdown
Facebook + LinkedIn
Aspect ratio 1.91:1. Recommended 1200x630, minimum 600x315. LinkedIn officially asks for 1200x627 but is forgiving. If og:image:width and og:image:height are set, Facebook trusts them and skips a refetch.
After
og:image - absolute URL, must serve over HTTPS, must be reachable to anonymous fetch.
og:image:width + og:image:height - strongly recommended.
og:image:alt - accessibility, not display.
Twitter summary_large_image
Aspect ratio 2:1. Recommended 1200x675. Minimum 600x335. Strict max file size 5 MB. Image is cropped center if uploaded outside ratio.
After
twitter:card = summary_large_image
twitter:image - absolute URL.
twitter:image:alt - accessibility.
Twitter summary (1:1)
Aspect ratio 1:1. Recommended 400x400, minimum 144x144. Used when twitter:card=summary. Common for podcasts, profiles, single-author posts.
After
twitter:card = summary
twitter:image - square. Don’t reuse the 1200x630.
What Discord and Slack do
Both follow Open Graph faithfully. Discord renders the full og:image with embed treatment (colored left bar, title, description, image). Slack’s unfurl shows the image below the title + description. Both respect og:image:width/og:image:height for layout reservation.
What iMessage does
Apple’s Smart Links read og:image, og:title, og:description. Image renders at the top of the chat bubble. If image is square or vertical, iMessage scales to a square - your wide 1200x630 looks fine.
What Metaspry checks
og:image-dimensions (async rule) - loads the image in the browser, reads naturalWidth / naturalHeight. >=1200x630 = pass. >=600x315 = warn (“recommend >=1200x630”). Below = fail.
og:image-absolute - verifies the URL is http:// or https:// (not relative, not data: for OG).
The rest you see in the Previews tab - each platform card uses the actual image; what you see is what crawlers see.
The minimum-effort plan
- Ship one 1200x630 PNG for
og:image. - Ship a 1200x675 version for
twitter:imagewhen you remember. - Set
og:image:width+og:image:heightto the exact pixels. - Set
og:image:altfor accessibility.
That’s it. Skip the rest until you have a reason to care.
Related posts
“Welcome - what Metaspry is for”
Metaspry is a free Chrome extension that audits any page's meta tags, social previews, and crawler signals. Here's the why.
Google I/O 2026: every page is now an API endpoint for agents
Information Agents, Universal Commerce Protocol, Generative UI, audio glasses, and a model called Omni. The honest framing isn't 'Google killed the web' - it's 'your meta tags and JSON-LD are now the API agents consume'. With primary-source citations + what to ship this week.
llms.txt in 2026: a cargo cult most tools are afraid to call out
Google does not use llms.txt. The 300k-domain study found zero citation lift. Here is who actually reads it, what it should contain, and why every SEO tool that shows MISSING llms.txt as a red error is participating in misinformation.