Twitter Card tags explained (summary vs summary_large_image)
Twitter/X has its own tag namespace (twitter:card, twitter:title, twitter:image, etc.) separate from Open Graph, but in practice it only strictly requires one of them — everything else falls back to your og:* tags if the twitter:* equivalent is missing. The one tag that actually changes the layout is twitter:card, which picks between a small square thumbnail ("summary") and a full-width image ("summary_large_image").
Why it matters
Without twitter:card set, X defaults to "summary" — a small thumbnail next to the text, not the large edge-to-edge image most brands actually want. That's the single most common reason a link looks fine on Facebook/Slack but underwhelming on X: the og:image is correct, it's just being rendered small because no card type was specified. It's a one-line fix that's easy to miss because nothing "breaks" — it just looks worse than it should.
How to fix it
- Add <meta name="twitter:card" content="summary_large_image"> to get the full-width image layout.
- You usually don't need twitter:title, twitter:description, or twitter:image individually — X falls back to og:title, og:description, and og:image automatically.
- Only add twitter:image separately if you want a different image on X than everywhere else (e.g. a differently-cropped version for the wider card).
- If you have an @username to attribute the card to, add <meta name="twitter:site" content="@yourhandle"> — cosmetic, but free.
- Test with our checker rather than X's own card validator — X retired public access to their validator tool, so third-party checkers are the practical option now.
Is this happening on your page?
Paste your URL and we'll show you exactly what's set, missing, or broken.
Check my page