Twitter/X Card Preview & Validator
Preview and validate a Twitter/X card without needing a live URL or an X developer account.
Card preview
Approximation only — X's actual rendering can vary and changes over time.
Validation report
- Paste tags or fetch a URL to see the validation report.
How it works
- 1
Paste tags or fetch a URL
Paste a page's meta tags or full HTML directly, or enter a live URL and click Fetch to pull them in automatically.
- 2
Check the resolved values
The report shows the title, description, and image, noting when a value came from an og: fallback rather than a twitter: tag directly.
- 3
Review the preview
See a rendered approximation of the card, matching the layout for whichever card type is set.
- 4
Fix flagged issues
Address anything the report flags, like a missing card type, an undersized image, or a missing @ on a handle.
About the Twitter/X Card Preview & Validator
X's own official Card Validator now sits behind a developer account and login, which is a real barrier for checking a card before a page is even live, or for anyone who just wants a quick answer without setting one up. This tool checks a Twitter/X card against the actual spec, paste raw meta tags or fetch a live URL, and see both a rendered preview and a validation report covering the specific requirements for whichever card type is being used.
Why the fallback chain matters
X's card spec falls back to Open Graph tags for title, description, and image whenever the matching twitter: tag is missing, twitter:title falls back to og:title, and so on, which means a page can render a perfectly good card while relying entirely on Open Graph tags it happens to already have for Facebook. That's fine until those og: tags change or get removed for an unrelated reason, at which point the Twitter card silently breaks too, with no twitter: specific tag ever having existed to notice was gone. This tool shows exactly which source each resolved value came from, twitter:title itself or an og:title fallback, so that dependency is visible rather than hidden.
Real image dimension checking, not just presence
Confirming that twitter:image has a URL in it doesn't confirm the image is actually usable, an image that's too small will still get rejected or rendered poorly by X regardless of whether the tag technically exists. This tool loads the resolved image directly and reads its real dimensions, then checks those against the recommended minimum for the specific card type in use, roughly square and at least 144×144 for a summary card, at least 300×157 for the large image card. An image that fails to load is flagged separately from one that loads but is too small, since a failed load is often hotlink protection on the image's own server rather than a genuinely broken URL.
Different requirements for different card types
A player card and an app card have almost nothing in common with a summary card beyond sharing the same twitter:card tag namespace, a player card needs an https player URL plus explicit width and height, while an app card needs at least one platform specific app ID for iPhone, iPad, or Google Play. Checking every card type against the same generic rules would miss real, type-specific requirements, this tool branches its validation based on which card type is actually set, so a player card gets checked for a valid player URL rather than being told it's missing an image it was never going to use.
What this can't guarantee
X doesn't publish an exact current rendering specification, and its card layouts have changed before and will again, so the preview here is a close, genuinely useful approximation rather than a pixel-perfect simulation of what X will show today. Player cards also can't be meaningfully previewed at all, since that would mean actually embedding and running the player itself, the preview shows a placeholder instead and focuses on validating the required fields rather than rendering playback. For a final check on a page that's already live, there's no substitute for viewing an actual shared link or, for anyone with access, X's own developer tools.
Runs entirely in your browser
Pasted tags are parsed locally, and image dimension checks happen by loading the image directly in your browser rather than through a server. Fetching a URL does route through this site to retrieve that page's content, but nothing about the tags or images you're validating is uploaded anywhere. If you're setting up sharing tags for the first time rather than validating existing ones, our Open Graph Tags Generator is the better starting point, both part of the same Technical SEO collection this tool belongs to.
Frequently asked questions
Do I need an X developer account to use this?
No, that's the specific gap this tool fills. X's own official Card Validator now requires a developer account and login, this tool doesn't.
Can I validate a page that isn't live yet?
Yes, paste its meta tags directly into the input rather than fetching a URL. This works for a page still in development or behind authentication.
What does 'found via og:title fallback' mean?
It means no twitter:title tag was found, but an og:title tag was, and X's spec uses that as a fallback. It's a useful thing to know since removing the og: tag later would break the Twitter card too.
How does the image size check actually work?
The resolved image is loaded directly in your browser and its real width and height are read, then checked against the recommended minimum for the specific card type in use.
Why did my image fail the size check even though it loaded fine?
It loaded successfully but its dimensions are below the recommended minimum for the card type, at least 144×144 for a summary card, or at least 300×157 for the large image card.
Does this validate player and app cards?
Yes, each card type is checked against its own specific requirements, a player card for a valid https player URL and dimensions, an app card for at least one platform's app ID.
Can this actually preview a player card's embedded content?
No, that would require actually embedding and running the player. A placeholder is shown instead, and validation focuses on confirming the required fields are present.
Is my page or image data uploaded anywhere?
Fetching a URL routes through this site to retrieve that page's content, but tag parsing and image dimension checks both happen locally in your browser.