Platform specs

Twitter Card Meta Tags: Summary vs Large Image

By Social Card Studio2 min read

X (still Twitter under the hood for metadata) builds its link previews from twitter: meta tags, falling back to your Open Graph tags when they're absent. The one decision that matters most is the card type — and for a blog post, the answer is almost always summary_large_image.

The two card types

Card typeLayoutImage sizeBest for
summarySmall square thumbnail beside the text≥144×144 (1:1)Compact links, profiles
summary_large_imageFull-width banner above the text1200×628 (1.91:1)Blog posts, articles, anything visual

summary_large_image gives your image the full width of the card — far more visual weight in a fast-scrolling timeline. Unless you have a specific reason to stay compact, choose it.

The exact tags

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your headline (under ~55 characters)" />
<meta name="twitter:description" content="One-line summary (under ~125 characters)" />
<meta name="twitter:image" content="https://yoursite.com/card.jpg" />

Two things to note:

  • twitter: tags use the name attribute, whereas Open Graph uses property. It's a common copy-paste bug.
  • If you omit twitter:title, twitter:description, or twitter:image, X falls back to the matching og: tag. So you can often ship only twitter:card and let your Open Graph tags do the rest — see What Is Open Graph?.

What size, exactly?

For summary_large_image, use 1200×628 (a 1.91:1 ratio), the same banner shape as a standard Open Graph card, which is why a single 1200×630 asset covers both. Minimum is 300×157; maximum file size is 5 MB. The full per-platform breakdown lives in the image-size cheat sheet.

1200×628
is the recommended summary_large_image dimension — effectively identical to the 1200×630 Open Graph standard, so one image serves both. X developer docs

Why your card won't update — and how to force it

X caches the card it scraped the first time it saw your URL. Change the image and the old one can linger. Historically the Card Validator let you force a re-scrape; that public tool was retired, so the reliable workarounds today are:

  1. Append a query parameter to the shared URL (?v=2). X treats it as a new URL and scrapes fresh.
  2. Wait it out — the cache expires on its own, typically within about a week.

If the card is broken rather than merely stale — blank image, wrong title — that's a different problem; walk through Why Your Link Preview Is Broken.

The takeaway

Set twitter:card to summary_large_image, supply a 1200×628 image at an absolute HTTPS URL, and let your Open Graph tags fill in the title and description. That's a correct, attention-grabbing X card. Producing that image per post — automatically and on brand — is what Social Card Studio handles for you.

Frequently asked questions

What is the difference between summary and summary_large_image?

summary renders a small square thumbnail beside the text. summary_large_image renders a full-width 1.91:1 banner above the text. For blog posts, summary_large_image is almost always the better choice because the image earns more attention.

What size should a Twitter / X card image be?

For summary_large_image, use 1200×628 pixels (1.91:1), minimum 300×157, under 5 MB. For summary, a square image of at least 144×144 works.

Why won't my X card update after I changed it?

X caches card data. There is no longer a public Card Validator that force-refreshes on demand, so the reliable fix is to change the URL (for example by appending a query parameter) or wait for the cache to expire, typically up to about a week.

← All posts