X Card Validator — Check twitter:card Markup Before You Post
Paste your meta tags to check the X card type, title, description and image against the documented rules, including Open Graph fallbacks.
Paste your meta tags and the X card is resolved the way the crawler resolves it: twitter:card decides the layout, and any missing twitter:title, twitter:description or twitter:image falls back to the matching Open Graph tag. Each value is then checked against the documented card types, character limits and absolute-URL rule.
Runs in your browser- Privacy
- Runs entirely in your browser — nothing is uploaded and no page is fetched
- Fallbacks
- twitter:title, twitter:description and twitter:image fall back to their og: equivalents
- Card types
- summary, summary_large_image, app and player — photo, gallery and product are retired
- First-party validator
- X retired its public Card Validator in 2022
- Cost
- Free, unlimited, no sign-up
How X decides what your card looks like
The crawler reads one tag to pick the layout and the rest to fill it in. twitter:card is the layout tag, and it is the only part of the vocabulary with no Open Graph equivalent — everything else degrades gracefully. If twitter:title is absent the crawler uses og:title; the same holds for the description and the image. That is why a page with solid Open Graph markup already gets a card, and why adding a single twitter:card line is usually the highest-value change available.
| Card type | Layout | Additional required tags |
|---|---|---|
| summary | Title, description and a small square thumbnail | None beyond title and image |
| summary_large_image | Wide 2:1 image above the title and description | None beyond title and image |
| player | An embedded media player in the timeline | twitter:player, twitter:player:width, twitter:player:height |
| app | A direct install prompt for a mobile app | twitter:app:id:iphone, :ipad or :googleplay |
The four things that actually break cards
- A relative image path. The crawler does not resolve
/images/card.pngagainst the page URL — the value must be an absolutehttps://address. This is the single most common cause of a card that renders as plain text. - A blocked crawler. If
robots.txtdisallows the bot, or the image sits behind authentication or a hotlink rule, there is nothing to draw. The markup can be perfect and the card still empty. - A stale cache. X caches what it fetched. Tags added after the first crawl do not appear until it re-crawls, which is why a card can be correct in markup and wrong in the timeline.
- A retired card type.
photo,galleryandproductwere valid years ago and are silently ignored now, falling back to the small summary layout at best.
Checking markup versus checking a live page
This tool reads tags you paste, so it works on a branch, a staging host or a page that is not published — and nothing leaves your browser. What it cannot do is tell you whether the image actually exists, what size it is, or whether the crawler can reach it. For that, the Open Graph preview fetches the live URL, measures the image and draws the card as Facebook, X, LinkedIn and Slack each really render it. The two are complements: markup first, live fetch once it is deployed.
Frequently asked questions
Do I need Twitter Card tags if I already have Open Graph tags?
What is the difference between summary and summary_large_image?
Why is my card not showing on X?
Where is the official Twitter Card Validator?
What size should the card image be?
Does this tool fetch my page?
How to use the x (twitter) card validator
- 1Copy the meta tags from your page — the whole <head> is fine.
- 2Paste them into the box; anything that is not a <meta> tag is ignored.
- 3Read the checks table, fixing anything marked Fail first.
- 4Copy the suggested markup block if you need a complete, correct set of tags.
- 5Paste the live URL into the X composer to confirm the real unfurl.
Sources & specifications
Embed this tool
Put the working x (twitter) card validator on your own site. It runs in your visitors' browsers exactly as it does here — free, no account, nothing uploaded.
Share this tool
Related tools
Last updated
More seo tools