📱 Open Graph Preview

Last updated: May 31, 2026

Open Graph Preview

Enter your OG tag values to see how your link card looks on Facebook, LinkedIn, and Twitter/X.

0 / 60 recommended
0 / 155 recommended
Recommended: 1200×630 px (min 600×314 px). Twitter large card needs 1:1 or wider.
summary | summary_large_image
Fill in the fields above and click Generate Previews to see your link cards.

When someone shares your URL on social media, they are not sharing a bare link — they are handing the platform a set of instructions for building a visual card. That card is constructed almost entirely from your Open Graph meta tags. Get them right and you get a polished, high-contrast preview that drives clicks. Get them wrong and you might see your site's favicon on a grey background, a title chopped mid-word, and a description that reads like an autogenerated breadcrumb string. The gap between those two outcomes is surprisingly small to fix, and almost entirely within your control.

How Facebook, LinkedIn, and Twitter Each Read Your Tags

All three platforms start from the same Open Graph standard, but they diverge in ways that matter. Facebook is the most forgiving and also the most aggressive with caching. It scrapes your page with the Open Graph Object Debugger (now called the Sharing Debugger) and holds that snapshot for weeks. You can force a refresh by submitting the URL to the Sharing Debugger, but a surprising number of developers discover this only after a botched launch.

LinkedIn plays it even stricter. It pulls og:title, og:description, og:image, and og:url, but the description is almost never shown in the standard feed post card — only the title and domain appear below the image. This shifts the entire weight of your first impression to two things: the image and the title. LinkedIn also caches aggressively; their Post Inspector tool exists specifically to let you bust that cache and re-scrape your URL.

Twitter (now X) uses its own parallel system called Twitter Cards, which maps to OG tags as a fallback. If you have twitter:card, twitter:title, and twitter:image set, Twitter ignores your OG tags for card rendering. If you do not, it falls back to og:title and og:image. The two card types you will actually use are summary (thumbnail on the left, text on the right) and summary_large_image (full-width hero image above the text). The latter is what almost everyone wants, but if your image is too small — under 144×144 px for summary, or under 300×157 px for large — Twitter silently falls back to the smaller layout or drops the image entirely.

Image Dimensions: The Most Common Silent Failure

The canonical recommendation is 1200×630 pixels, which maps to a 1.91:1 aspect ratio. Facebook, LinkedIn, and Twitter all render this cleanly. What breaks things is when developers use a square image (1:1) or a tall portrait image: Facebook crops it differently than Twitter, so you end up with a card that looks fine on one platform and shows someone's chin cut off on another.

There is a second trap: file size. Facebook has documented a 8MB limit, but in practice anything over 2–3MB causes noticeable delays in card loading. Twitter requires images to be under 5MB for photos. If your marketing team hands you a 7MB Photoshop export, that image will work in your browser but potentially fail in the Twitter Card validator with a cryptic error about the image being inaccessible — which actually just means the response was too slow.

The third and subtlest issue is HTTPS vs. HTTP. All three platforms require the OG image to be served over HTTPS. An HTTP image URL will result in no image on Twitter and a broken image icon on LinkedIn, even if the URL itself works fine in a browser.

Title and Description Length: What Actually Gets Truncated

There is a lot of conflicting advice about the "correct" length for OG titles and descriptions, partly because each platform renders text differently depending on screen width, font rendering, and the version of their mobile app. Here is what actually happens in practice:

Facebook cuts og:title at roughly 60–88 characters. The variance comes from proportional fonts — a title full of lowercase "i" characters will display more text than one full of "W"s. Facebook's description cutoff is similarly fuzzy, somewhere between 155 and 200 characters in a desktop feed, often much shorter on mobile. LinkedIn's feed card shows only the title and domain — no description in the standard link post — so description length matters much less there. Twitter large cards show around 70 characters of title and 2 lines of description (roughly 125 characters) before cutting off with an ellipsis.

The practical rule: write your title under 60 characters, your description between 100 and 155 characters, and assume the first sentence of the description is the only one that counts.

Previewing Before You Publish: Why It Matters More Than Most Teams Realize

The classic developer workflow is to push the page live, share the URL in Slack, and then discover the OG image is pulling from the old homepage image because a WordPress plugin cached the wrong value. By then, anyone who already saw the bad card in their feed saw the bad card — social media feeds do not auto-refresh old embeds.

Facebook's Sharing Debugger and Twitter's Card Validator both require a live, publicly accessible URL. This creates a frustrating chicken-and-egg problem: you cannot validate until you deploy, but you do not want to deploy until you validate. Tools that let you preview directly from tag values — without needing a live URL — solve this by letting you confirm the visual output locally or in a staging environment before DNS ever changes.

LinkedIn's Post Inspector is also live-URL-only, and it has an additional quirk: it will sometimes return cached data from a previous scrape even when you explicitly ask it to re-scrape. Hitting the "Inspect" button multiple times and checking the "Last scraped" timestamp is the only reliable way to confirm you are seeing fresh data.

The Tags Most Developers Forget

og:type is the first one — default behavior without it is "website," which is fine, but setting it explicitly to "article" for blog posts unlocks additional structured data behavior on some platforms. og:site_name is the second — this appears in Facebook's grey domain bar under the image. If you leave it out, Facebook falls back to the raw domain, which means "mybrand-global-llc.com" instead of "MyBrand." LinkedIn ignores it entirely and always uses the domain. Twitter does not use it at all.

og:locale matters if you run a multilingual site. Without it, Facebook assumes en_US. If you are serving Japanese content on a Japanese domain, setting og:locale to ja_JP and including the correct og:locale:alternate for English helps Facebook route content recommendations correctly, even if it has zero visible effect on the card itself.

Common Mistakes That Look Fine in Dev but Break in Production

Relative image URLs (/og-image.jpg instead of https://yoursite.com/og-image.jpg) work in a browser that knows the current domain but fail completely when Facebook's scraper encounters them as standalone meta content. This mistake accounts for a surprising percentage of "broken card" bug reports.

Dynamic OG tags — generated server-side for user profiles, product pages, or article pages — often break when a CDN caches the first scraped version and serves that same HTML to all subsequent scrapers, even after the underlying content changes. The fix is to ensure your CDN passes crawler User-Agent strings through to origin, or to set Cache-Control: no-store for the meta tag portion specifically if your platform supports fragment-level caching.

Finally, template-level og:image placeholders left as empty string values (content="") cause more problems than a missing tag altogether. Some platforms interpret an empty content attribute differently from a missing tag. Facebook will sometimes show a "loading" spinner indefinitely rather than falling back gracefully. Always conditionally render OG image tags rather than outputting an empty one.

The difference between a well-optimized OG setup and a neglected one is not just aesthetics — it is whether the people who share your content are accidentally working against you every time they paste a link.

FAQ

Why does my Facebook link card still show the old image after I updated the og:image tag?
Facebook caches OG data aggressively and can hold a scraped version for weeks. To force a refresh, submit your URL to Facebook's Sharing Debugger (developers.facebook.com/tools/debug) and click 'Scrape Again'. It may take 2-3 scrapes before the new data propagates fully across Facebook's CDN.
What is the difference between twitter:card 'summary' and 'summary_large_image'?
'summary' shows a small square thumbnail on the left with title and description on the right — compact, works well for content-heavy sites. 'summary_large_image' displays a full-width image above the title and description, similar to a Facebook card. Large image requires your image to be at least 300×157 px and under 5MB; otherwise Twitter silently falls back to no image.
Does LinkedIn use og:description in its link card preview?
In the standard LinkedIn feed link post, the description is typically not shown — only the og:title and the domain appear below the image. The description may appear in some article shares or in specific post layouts, but you should not rely on it for LinkedIn engagement. Focus your LinkedIn OG strategy on a compelling title and a strong image.
What image size should I use if I want one image that works on all three platforms?
1200×630 pixels at a 1.91:1 aspect ratio is the universal safe choice. Facebook, LinkedIn, and Twitter large cards all render this correctly without cropping. Keep the file under 2MB (ideally under 1MB as a compressed JPEG or WebP), serve it over HTTPS, and use an absolute URL in the og:image tag — not a relative path.
Why is my og:image not loading in the Twitter Card Validator but it works fine in my browser?
The most common causes are: (1) the image URL uses HTTP instead of HTTPS, (2) the image is too large (over 5MB), (3) your server is blocking Twitter's crawler User-Agent ('Twitterbot'), or (4) the image response is too slow due to file size or server latency. Check your server access logs for Twitterbot requests to identify the issue.
Can I use different titles and descriptions for Twitter vs Facebook on the same page?
Yes. Twitter checks for twitter:title and twitter:description first, and only falls back to og:title and og:description if the Twitter-specific tags are missing. So you can set og:title for Facebook/LinkedIn and twitter:title with different, shorter text specifically optimized for the Twitter card layout, with both sets of tags on the same page.
Disclaimer: This article is for general informational and educational purposes only and does not constitute professional, financial, medical, or legal advice. Results from any tool are estimates based on the inputs provided. Always verify important details and consult a qualified professional before making decisions.