OG image size for X, LinkedIn, Facebook and Slack
Open Graph image size from each platform's own docs: a safe 1200×630 default, what Facebook, LinkedIn, X and Slack say, the tags to set and how to test it.
By Lucien George, founder of LaunchLoop Published 15 min read
An OG image is the picture that appears when someone shares a link to your page. The Open Graph protocol defines the og:image tag, and every app that draws a link card reads it in its own way. This post collects what each platform's own documentation says about the size: Facebook, LinkedIn, X, Slack and Discord. Every number is quoted and linked, and where a platform doesn't publish one, the post says so.
To see what your own page shares as, paste its URL into the free OG image preview.
The quick answer: 1200×630
Make the image 1200×630 pixels, save it as a PNG or JPG under 5 MB, and serve it from a full https:// URL. One image at that size fits what the documentation below asks for:
- It is Facebook's recommended size. Meta's Images in Link Shares page says
Use images that are at least 1200 x 630 pixels for the best display on high resolution devices.
- It meets LinkedIn's minimum. LinkedIn's Make your website shareable on LinkedIn article gives
Minimum image dimensions: 1200 (w) x 627 (h) pixels
, and 1200×630 is at least that in both directions. - It is close to the ratio both ask for. LinkedIn gives
Recommended ratio: 1.91:1
, and Facebook saysTry to keep your images as close to 1.91:1 aspect ratio as possible to display the full image in Feed without any cropping.
1200 divided by 630 is about 1.905. - It is inside X's limits, though not X's shape. X's archived docs describe a 2:1 image between a minimum and a maximum size that 1200×630 sits well inside. See X below.
- Under 5 MB clears every published file limit. LinkedIn caps shared images at 5 MB, X's archived docs ask for less than 5MB, and Facebook allows 8 MB.
Slack publishes no image size at all, and Discord only uses 1200 and 630 in an example, so neither gives you a different number to design for.
What each platform's docs say
Each platform's pages were read on 21 October 2026. Here is what they say, and what they leave out.
Meta's Images in Link Shares page (dated 30 June 2026) is the most detailed of the five. Apart from the 1200 x 630 recommendation and the 1.91:1 ratio above, it says:
- A hard minimum.
The minimum allowed image dimension is 200 x 200 pixels.
- A minimum for the large card.
At the minimum, you should use images that are 600 x 315 pixels to display link page posts with larger images.
Below that,If your image is smaller than 600 x 315 px, it will still display in the link page post, but the size will be much smaller.
- A file limit.
The size of the image file must not exceed 8 MB.
Facebook takes the card's title, description and image from Open Graph tags when they're there. Its guide to sharing for webmasters says Most content is shared to Facebook as a URL, so it’s important that you mark up your website with Open Graph tags to take control over how your content appears on Facebook.
Without them, the Facebook Crawler uses internal heuristics to make a best guess about the title, description, and preview image for your content.
LinkedIn's Make your website shareable on LinkedIn help article lists the image requirements specific to the LinkedIn sharing module
: the 1200 x 627 minimum and 1.91:1 ratio above, and Max file size: 5 MB
. The same article then lists separate specifications for single image ads, which are for paid ads rather than a shared link. Its Share articles or links article describes the preview the same way: image frame is a 1.91:1 ratio and 1200 (w) x 627 (h) pixels
.
LinkedIn reads Open Graph tags too. Its troubleshooting article says The LinkedIn share box relies on websites to use oEmbeds and/or Open Graph Protocol (OGP) to display the most accurate title, description, and image when sharing a URL.
These help articles show as last updated two or three years ago, so check them again before you rely on the numbers.
X (from its archived docs)
X's card documentation is no longer online: the old developer.x.com card pages now redirect to the general docs overview, and the same paths on docs.x.com return 404. Everything in this section comes from X's archived developer docs, as saved by the Internet Archive: the Summary Card with Large Image page from 12 January 2026, the Cards markup reference from 16 January 2026 and Troubleshooting Cards from 4 January 2026. X may have changed how cards work since then.
- Size and ratio.
Images for this Card support an aspect ratio of 2:1 with minimum dimensions of 300x157 or maximum of 4096x4096 pixels.
- File size and formats.
Images must be less than 5MB in size. JPG, PNG, WEBP and GIF formats are supported. Only the first frame of an animated GIF will be used. SVG is not supported.
- The card type. For the large card,
twitter:cardMust be set to a value of “summary_large_image”
. The markup reference warnsIf an og:type, og:title and og:description exist in the markup but twitter:card is absent, then a summary card may be rendered.
- Open Graph as the fallback. The markup reference lists
og:imageas the fallback fortwitter:image, andog:titleandog:descriptionfor the title and description, so you don't need a second image just for X.
Slack
Slack doesn't publish an image size: no dimensions, no ratio and no file limit. Its Unfurling links in messages doc says that when no app handles a link, Slack crawls the URL, looks for common OpenGraph and X (formerly known as Twitter) Card metadata, and renders some micro-approximation of the content.
Its Slack Robots page describes the crawler: It fetches as little of the page as it can (using HTTP Range headers) to extract meta tags about the content.
and If a page's tags refer to an image, video, or audio file, we will fetch that file as well to check validity and extract other metadata.
So Slack uses the same og:image as everyone else, but there is no Slack number to design for.
Discord
Discord's Link Previews doc doesn't recommend a size either. The only places 1200 and 630 appear are its Quick Start example, which sets og:image:width to 1200 and og:image:height to 630, and an oEmbed example that uses the same numbers for a thumbnail. They are examples, not a requirement. The doc does say Supported formats are .png, .gif, .jpg, .jpeg, .webp, and .avif.
, and it carries a warning: Link previews are subject to change.
The Open Graph protocol
The protocol itself sets no image size. It defines og:image as An image URL which should represent your object within the graph.
and gives it optional structured properties, including og:image:width (The number of pixels wide.
), og:image:height (The number of pixels high.
) and og:image:alt, about which it says If the page specifies an og:image it should specify og:image:alt.
Where the docs disagree
- Ratio. Facebook and LinkedIn say 1.91:1. X's archived docs say 2:1. No single image matches both exactly. A 2:1 image at 1200 wide would be 1200×600, which is below LinkedIn's 627-pixel minimum height, so 1200×630 is the better compromise. None of the docs say exactly how an image of the other shape is fitted, so keep your product name and headline away from the edges and check the card before you launch.
- Minimum size. Facebook allows 200 x 200 and wants 600 x 315 for the large card, X's archived docs allow 300x157, and LinkedIn asks for 1200 x 627. LinkedIn's is the strictest, so it sets the floor.
- File size. LinkedIn says 5 MB, X's archived docs say less than 5MB, and Facebook says 8 MB.
- No number at all. Slack and the Open Graph protocol publish no image size, and Discord's doc only uses sizes in its examples: 1200×630 in the Quick Start and oEmbed examples, and 1280×720 in the example in its Video section.
The meta tags to set
Put these in the <head> of the HTML your server sends, with your own values. The first four are what the Open Graph protocol calls The four required properties for every page
: og:title, og:type, og:url and og:image.
<meta property="og:title" content="Your page title" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://your-app.com/" />
<meta property="og:description" content="One or two sentences about the page." />
<meta property="og:image" content="https://your-app.com/og-v1.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="What the image shows" />
<meta name="twitter:card" content="summary_large_image" />- Width and height. Optional in the protocol, but Facebook says they
will specify the image dimensions to the crawler so that it can render the image immediately without having to asynchronously download and process it.
Discord's doc saysProvide og:image:width and og:image:height. Without them, Discord fetches the image to measure it.
- Alt text. The protocol describes
og:image:altasA description of what is in the image (not a caption).
- twitter:card. Without
summary_large_image, X's archived docs say you may get the small summary card instead. - Description length. The protocol suggests
A one to two sentence description of your object.
Facebook's guide saysA brief description of the content, usually between 2 and 4 sentences.
One or two sentences satisfies both.
A version number in the image file name, like og-v1.png, makes the next change easier. See an old cached card below.
How to test your OG image
- LinkedIn: Post Inspector. LinkedIn's help article says
You can use the Post Inspector as a tool to refresh the URL.
Open Post Inspector, enter the URL, andConfirm that the preview window shows the correct content.
It only helps future posts:The preview for any existing posts with this URL will remain the same.
- Facebook: Sharing Debugger. Facebook's webmaster guide says the Sharing Debugger
will show which meta tags the crawler scrapes as well as any errors or warnings.
- Discord: Embed Debugger. Discord's doc points to the Embed Debugger,
which shows how Discord reads a URL, including which tags it picked up and which layout it chose.
- X and Slack. X's archived docs mention a Card Validator, but with the card docs gone this post doesn't send you there, and Slack's unfurling doc doesn't mention a preview tool. Post the link from a test account on X, or paste it into a Slack message to yourself.
- Any page: our OG image preview. The free OG image preview fetches a live page the way a link previewer would and shows the common large card at 1200×630. It checks
og:title,og:description,og:url, the image's real size, format and file size, the width, height and alt tags, andtwitter:card, and tells you what to fix. It's free with no sign-up and doesn't save the URL. It shows one common layout rather than each app's exact card, and it can't clear another platform's cache, so use the tools above for that.
Common mistakes to check for
None of these platforms says how often each problem happens, so treat this as a list of checks rather than a ranking.
A relative image URL
Check that og:image is a full https:// address. The protocol defines it as an image URL, and of the docs here only Discord's mentions relative URLs at all: Relative URLs must start with /.
The others don't say they resolve a relative path, so a full URL is the safe form.
No width and height
On Facebook, without declared dimensions, the first share can come out without an image. Facebook says The crawler has to see an image at least once before it can be rendered.
and This means that the first person who shares a piece of content won’t see a rendered image
. Setting og:image:width and og:image:height is one of the three fixes it lists.
An old cached card
Every platform here caches what it fetches, and they say different things about how:
- Facebook caches images by URL:
Use a new URL for the new image or the image won’t be updated
. - LinkedIn says
Please allow 48 hours from the last time you've shared this URL before you try again.
Post Inspector, above, refreshes it for new posts. - X, in its archived docs:
The Twitter web crawler re-indexes the Card tag information on your page roughly every seven days.
andImages referenced in a Card are also cached based on URL.
- Slack:
Responses to these requests are cached globally across the service for around 30 minutes.
- Discord:
Discord caches previews for about 30 minutes.
Its tip for testing: share the URL with a new query string, such as?v=2.
So when you change the image, give it a new file name or URL and update the tag to match, then refresh the card with the tools above or wait for the cache to expire.
Tags added by JavaScript
Check the tags are in the HTML your server sends, not added in the browser. Discord's doc is explicit: The tags must be in the HTML your server sends. No code is executed, so tags added by a client-side script after load are never seen.
Slack's crawler fetches as little of the page as it can, which is another reason to keep the tags near the top of the <head>.
An image the crawler can't reach
Check that both the page and the image load without a login, from outside your network. X's archived troubleshooting page says that when an image doesn't show, The most common cause is that the image specified via the twitter:image tag is not publicly accessible on the web.
Robots rules differ: X's archived docs list Your website has a robots.txt file that is blocking Twitter from getting your Card metadata.
as a cause, while Slack's Robots page says We do not currently honor robots.txt files.
Facebook adds a server check: Our crawler only accepts gzip and deflate encodings, so make sure your server uses the right encoding.
Images for launch day
The OG image is the card for a shared link. A launch post on X or LinkedIn can carry its own attached image as well, and its size is a house style choice rather than a platform rule: none of the docs above set a size for it. LaunchLoop's house style is a 1600×900 image for launch posts.
Product Hunt has its own image sizes, which the Product Hunt launch checklist covers. For the listing itself, read how to launch on Product Hunt and how to write a Product Hunt tagline.
If you'd rather not make all of this by hand, LaunchLoop reads your repo and live page and drafts your landing page copy, Product Hunt post, X thread and LinkedIn post, plus a 1200×630 OG image, a 1600×900 post image and a 1270×760 Product Hunt gallery image in your site's colours. The drafts are yours to edit and post. Start with a free preview or see pricing.
OG image size: FAQ
Should a LinkedIn preview image be 1200×627 or 1200×630?
Either works. LinkedIn's help center gives 1200 x 627 pixels as the minimum for its sharing module, with a recommended ratio of 1.91:1, and 1200×630 meets that minimum in both directions. 1200×630 is also the size Facebook recommends, so it is the one to pick if the same image has to work on both.
Do I need a separate twitter:image for X?
Not if you set og:image. X's archived Cards markup reference lists og:image as the fallback for twitter:image. What you do need is twitter:card set to summary_large_image: the same reference says that if the Open Graph tags are there but twitter:card is absent, a summary card may be rendered instead. X's card docs are no longer online, so this comes from the Internet Archive's copies from January 2026.
What is the maximum file size for an OG image?
Keep it under 5 MB. LinkedIn's limit for shared images is 5 MB, X's archived docs say images must be less than 5MB, and Facebook allows up to 8 MB. Slack doesn't publish a limit, and Discord only caps the whole fetch at 50 MB, so 5 MB is the lowest published limit.
Can an OG image be an SVG or a WebP?
Not an SVG: X's archived docs say SVG is not supported, and SVG isn't in Facebook's or Discord's list of image types either. WebP is supported in X's archived docs and in Discord's, but Facebook's og:image:type lists only JPEG, GIF and PNG. PNG or JPG is the format all three lists share.
Are og:image:width and og:image:height required?
No. The Open Graph protocol lists them as optional structured properties of og:image. They are still worth setting: Facebook says they let its crawler render the image straight away instead of downloading and processing it first, and Discord says that without them it fetches the image to measure it.
Sources
Checked as of October 2026. Every quote on this page was read on 21 October 2026, on each platform's own site or, for X, in the Internet Archive's copies of X's developer docs from January 2026. These pages change without notice, so check the links before you rely on a number.
- Images in Link Shares, Meta for Developers (dated 30 June 2026)
- A Guide to Sharing for Webmasters, Meta for Developers (dated 30 June 2026)
- Make your website shareable on LinkedIn, LinkedIn Help
- Share articles or links, LinkedIn Help
- Troubleshooting issues sharing URLs, LinkedIn Help
- Use Post Inspector to refresh URL, LinkedIn Help
- Summary Card with Large Image, X developer docs, archived 12 January 2026
- Cards markup, X developer docs, archived 16 January 2026
- Troubleshooting Cards, X developer docs, archived 4 January 2026
- Unfurling links in messages, Slack Developer Docs
- Slack Robots, Slack API
- Link Previews, Discord Developer Docs
- The Open Graph protocol, ogp.me