Free checker
Twitter Card checker
Paste a URL to see your twitter: tags, which of them X is actually using, and which values are quietly falling back to Open Graph.
No signup, no card. Paste a URL and the checker reports this along with everything else, in about a second.
X builds link previews from Twitter Card tags, falling back to Open Graph where a Twitter tag is absent. That fallback is the part people get wrong: a page can look correct on Facebook and wrong on X, or have twitter tags that duplicate the OG ones and change nothing.
Card types
twitter:card decides the shape of the preview. Without it, X may
render a small card or none at all, whatever your other tags say.
| Value | What you get | When to use it |
|---|---|---|
summary | A small square thumbnail beside the text. | Fine for pages without a purpose-made image. |
summary_large_image | A full-width image above the text. | What most sites want. Needs an image of a suitable size. |
player | An inline video or audio player. | Requires additional tags and allowlisting by X. |
app | A card linking to a mobile app. | App listings only. |
What falls back, and what does not
X reads twitter:title, twitter:description and
twitter:image, and falls back to the Open Graph equivalents when they
are missing. So most sites need only two Twitter-specific tags.
twitter:card has no Open Graph equivalent, so it cannot fall back —
it is the one tag you genuinely have to write. twitter:site attributes
the post to your account and also has no fallback.
This is what the checker's preview means when it tells you a value came from
og:description: the tag is doing work, but it is not the tag you might
think.
<!-- The two that cannot fall back -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@acme">
<!-- Only needed if they should differ from the og: values -->
<meta name="twitter:title" content="A headline written for X">
<meta name="twitter:image" content="https://acme.com/x-card.png">
name, not property
Twitter Card tags use name, where Open Graph uses
property. Writing property="twitter:card" is a frequent
slip and is not part of the specification, though some parsers tolerate it.
The checker reads both attributes and reports the value it found either way, so you can see the tag exists before working out why a platform ignored it.
What the checker reports on this
- Missing twitter:card
- Missing twitter:title
- Missing twitter:description
- Missing twitter:image
- Missing twitter:site
- Metadata URL is not absolute
Related checks
Check your X card.
One paste, and you see which tags X is really using.
or check it from your terminal
curl 'https://metamanager.dev/inspect?url=yoursite.com'