OG Image Size Guide: The Right Dimensions for Facebook, X, LinkedIn, and Slack
The correct og:image dimensions for every major platform, why 1200×630px became the default, and how to keep text and logos from getting cropped.
August 9, 20264 min read
If you only remember one number from this page, make it 1200×630px. That's the dimension almost every platform will accept, scale correctly, and not crop into something awkward. Everything below explains why that size works, where it can go wrong, and the handful of platform-specific quirks worth knowing before you ship a link.
The 1200×630px standard
1200×630px gives you a 1.91:1 aspect ratio, and it's become the de facto baseline because Facebook popularized it early on and every other platform built its unfurling around similar math. It's large enough to look sharp on high-density displays, small enough to stay under file size limits, and wide enough to hold a headline without the text feeling cramped. If you're generating one image per page and want it to look right almost everywhere without per-platform variants, this is the size to default to.
There's a second dimension worth knowing about: 1200×1200px (square, 1:1). Some messaging apps and older unfurlers prefer square crops, and a few platforms will crop a wide image down to square if no square variant is offered. Unless you have a specific reason to support square previews, though, 1200×630px alone covers the overwhelming majority of link shares.
Safe areas: design for cropping, not the full canvas
Different platforms crop the same 1.91:1 image differently — some show the full frame, some shave pixels off the top and bottom for their card chrome, some inset it slightly on mobile. The practical fix is to treat the outer 5–8% of the image as a margin you don't put anything critical in. Keep your headline, logo, and any small text comfortably inside the center, and let background imagery or color bleed to the edges. A logo mark sitting flush against the corner is the most common casualty of aggressive cropping — pull it in.
- Keep body text at least 60–80px from any edge at 1200×630 resolution
- Avoid putting the only readable element in a corner — center of frame survives every crop variant
- Test at both desktop card width and the narrower mobile card width before shipping
- Use a font size large enough to read at thumbnail scale — assume the image renders small in a busy feed
File size and format
Most platforms cap og:image at 5MB or 8MB depending on the crawler, but you should aim well under that regardless of the ceiling. A large file slows down the crawler's fetch, and some bots will time out and fall back to no image at all rather than wait. PNG is the safer default for images with text or sharp edges (logos, UI screenshots, typography-heavy cards) because it avoids JPEG compression artifacts around fine detail. JPEG is fine and usually smaller for photographic backgrounds. WebP is supported by most modern crawlers now, but a handful of older or stricter unfurlers still don't parse it reliably, so PNG or JPEG remains the conservative choice if you want broad compatibility over marginal file size savings.
Per-platform notes
- Facebook: uses 1200×630px as its native card size; will accept smaller images but scales them up, which looks soft — don't go below 600×315px
- X (Twitter): supports a 'summary_large_image' card at roughly the same 2:1-ish ratio via 1200×630px; without the twitter:card meta tag set, it may fall back to a small square thumbnail instead
- LinkedIn: reads og:image directly and is one of the pickier crawlers about needing an absolute, publicly reachable URL — relative paths or auth-gated images frequently fail to unfurl
- Slack: unfurls og:image inside a compact card and tends to crop tighter than Facebook, so keep text especially close to center
- Discord: respects og:image similarly to Slack but shows a slightly larger preview in embeds — 1200×630px still holds up well here
Where a template-based renderer helps
The tedious part of this isn't picking a size — it's re-exporting a correctly sized, correctly cropped image every time a headline changes or you ship a new page. With a template-based renderer like useopengraph's, you set the 1200×630px canvas, safe-area margins, and font sizing once, and every page's OG image inherits that layout automatically as dynamic content flows in. You're not opening a design tool per URL or hoping someone remembers the export dimensions correctly six months from now — the dimensions are just a fixed property of the template.
Stop paying per seat
for a usage-shaped problem.
Unlimited teammates, one usage pool. Start free with the scanner — no card required.