Warningtwitter:card

twitter:card is missing

X needs twitter:card to render a rich preview. Without it your link may post as a bare URL even though your Open Graph tags are correct.

What you are seeing: Your link posts to X as plain text or a small thumbnail, while the same URL previews correctly on Facebook and LinkedIn.

One tag X will not infer

X reads Open Graph tags as a fallback, so og:title, og:description and og:image all carry over without a Twitter-specific equivalent. twitter:card is the exception. It declares which card layout to use, and X will not guess it.

This is why a page with otherwise complete metadata can preview perfectly everywhere else and fall flat on X. The content is all there; nothing has told X how to lay it out.

Which value to use

summary_large_image is the right answer for almost every page. It renders your og:image at full card width, which is the layout you want for an article, a landing page, a product, or anything else being shared to be read.

summary is the small-thumbnail layout — a square image beside the text. It is occasionally right for a directory entry or a profile where the image is incidental, but it is a much weaker card and rarely the deliberate choice.

The player and app card types exist for embedded media and app install prompts, and both require additional tags and X-side approval.

You probably do not need the rest

twitter:title, twitter:description and twitter:image all fall back cleanly to their Open Graph equivalents. Set them only when you want different copy on X. Adding duplicates of tags you already have is just more markup to keep in sync.

The one tag that matters

<meta name="twitter:card" content="summary_large_image" />

<!-- Optional: only if X should differ from Open Graph -->
<meta name="twitter:site" content="@yourhandle" />

Frequently asked

Do I need twitter:image if I already have og:image?

No. X falls back to og:image reliably. Set twitter:image only when you want a different picture on X specifically.

Should the tag use name or property?

Twitter Card tags use name. Open Graph tags use property. Mixing them up is a common mistake — property="twitter:card" is invalid and some parsers will skip it entirely.

Check your page

Run your URL through the checker to confirm the fix is live and see how the card renders on every platform.

Test a URL

Related fixes

Built with ZippyStarter logo ZippyStarter