X's own Card Validator no longer shows a preview. Paste a URL here and see the card X builds from your tags, with the image tested against X's limits: a 2:1 ratio for the large card, at least 300×157, under 5 MB.
twitter:card decides the card: summary_large_image for the wide image card, summary for a small square thumbnail. Without it, X shows no image card.og:title, og:description and og:image when the twitter:* versions are missing, so one set of Open Graph tags plus twitter:card is enough.Twitterbot crawler, which respects robots.txt.| Minimum | Aspect ratio | Max file size | Formats | |
|---|---|---|---|---|
| X (summary_large_image) | 300×157 | 2:1 | 5 MB | JPG, PNG, WebP, GIF |
| X (summary) | 144×144 | 1:1 | 5 MB | JPG, PNG, WebP, GIF |
Values from the platform's own documentation, checked 2026-11-02 (all platforms: OG image size). Sources: · X Developer Platform: Summary card with large image (archived 2026-01-12) · X Developer Platform: Cards markup (archived 2026-01-16) · X Developer Platform: Summary card (archived 2025-12-16)
twitter:cardtwitter:titletwitter:descriptiontwitter:imagetwitter:image:altog:titleog:descriptionog:imagetwitter:card is there and says summary_large_image — the most common cause of a small or missing card.Twitterbot and your firewall or bot protection does not challenge it.?v=2) or give the image a new file name, so X fetches it fresh.Twitterbot does not run JavaScript.Most broken previews have no image at all. Shareglint renders one for every page from its title — one meta tag, no code — at a size that passes every documented limit (the sizes). 100 images a month free.
X's Card Validator stopped showing previews; the post composer is the only place X itself shows one, and only after you paste the link. This page shows the card from your tags without posting anything.
For summary_large_image X documents a 2:1 ratio, at least 300×157, at most 4096×4096 pixels and under 5 MB. 1200×630 or 1200×600 both work.
twitter:card is missing or set to summary. Set <meta name="twitter:card" content="summary_large_image">.
X publishes no way to clear its card cache. Change the URL you share (a query string works) or the image's URL, and X will fetch the page again.