The Open Graph tags checklist
Which og and twitter tags matter, the sizes platforms expect, and how to debug a share that renders wrong after you publish.
The core tags every page needs
Four tags do most of the work in a shared link. og:title becomes the bold headline, og:description is the gray line beneath it, og:image is the picture that makes the card stand out, and og:url is the canonical address the share is credited to. Add og:site_name so people see which brand the link comes from, and og:type, which is website for most pages and article for blog posts. This tool warns whenever one of these is missing so a link never ships as a bare text stub.
Twitter Cards and sensible defaults
X reads Open Graph tags but also has its own twitter: namespace, most importantly twitter:card, which chooses the layout. Set it to summary_large_image for a full width banner or summary for a compact thumbnail card. If you leave it out, this preview fills in a large image card when you have an image and a plain summary when you do not, mirroring how the platform behaves. An unknown value, such as a typo, is flagged so it does not silently fall back to the wrong style.
Image sizes and truncation limits
For a large image card, aim for a landscape picture around 1200 by 630 pixels at a 1.91 to 1 ratio, served over https from an absolute URL. Titles are safest at 60 characters or fewer and descriptions at about 155, because feeds cut anything longer and append an ellipsis. This tool truncates on a word boundary exactly as the networks do, so the preview shows you the real trimmed text rather than a hard character chop in the middle of a word.
Debugging a share that renders wrong
When a link previews with old text or no image, the usual culprit is caching: platforms store the first version they scrape and reuse it for days. After you fix your tags, run the page through each network's official debugger, such as Facebook's Sharing Debugger or the LinkedIn Post Inspector, and use the re-scrape button to force a fresh fetch. Confirm the image returns a 200 over https, the URL has no login wall, and the tags sit in the page head where crawlers can read them without running JavaScript.