TinyAffiliate Tools
Twitter Card Validator (X)
Use this checklist to validate your Twitter/X link preview. Fix the meta tags, re-validate once, and ship consistent previews across X, Slack, iMessage, and LinkedIn.
Last updated: 2026-03-25
Fast path (2 minutes)
- Check your page returns a 200 status and the HTML contains meta tags in the server-rendered markup.
- Ensure og:title, og:description, and og:image are present.
- Set twitter:card to summary_large_image (most common).
- Use a publicly accessible image (HTTPS, not blocked by robots, no auth). Recommended: 1200×630.
- Re-validate the exact URL in X’s validator and wait a few minutes for cache propagation.
Meta tags you should have
Keep the values short and consistent. The easiest setup is Open Graph + one Twitter card tag.
<meta property="og:title" content="Your page title" /> <meta property="og:description" content="One-sentence summary" /> <meta property="og:image" content="https://yourdomain.com/og.png" /> <meta property="og:url" content="https://yourdomain.com/your-page" /> <meta name="twitter:card" content="summary_large_image" />
- • Avoid relative URLs for images. Use absolute https:// URLs.
- • Don’t block your image folder in robots.txt.
- • If you use redirects, ensure final URL is stable and canonical points to the final page.
FAQ
Why does my link show the wrong title or image on X (Twitter)?
X caches card data aggressively. Even after you fix your meta tags, the old preview can stick until you re-validate the URL or the cache expires.
Which tags matter most for Twitter/X cards?
Start with og:title, og:description, og:image, and twitter:card (usually summary_large_image). If you support multiple locales, ensure the canonical URL is correct too.
What image size should I use?
For large image cards, use a 1.91:1 image (e.g., 1200×630). Make sure it is publicly accessible (no auth, no robots block) and served over HTTPS.
Does X use Open Graph or twitter:* tags?
It can use both. In practice, many setups rely on Open Graph (og:*) plus twitter:card. If you set twitter:title/description/image, keep them consistent with Open Graph.