How X (Twitter) builds a link preview
X’s crawler, Twitterbot, fetches the page when a link is posted. It reads twitter: tags first and falls back to Open Graph:
twitter:card— the layout:summary_large_imagefor a wide image card,summaryfor a small square thumbnail.twitter:title,twitter:description,twitter:image— orog:title,og:description,og:imagewhen those are absent.twitter:site— the site’s @handle, used for attribution.
Twitterbot obeys robots.txt. If robots.txt disallows Twitterbot, or all crawlers, for a page, X cannot build a card for it. In the timeline, X currently shows large cards as the image with the domain over it; the description is not shown.
See which of these tags your page has, and what X (Twitter) will show.
Check a URLWhy your X (Twitter) preview is missing or wrong
robots.txt blocks Twitterbot
X respects robots.txt. A Disallow rule for Twitterbot, or for all user agents, on the page’s path means no card.
No twitter:card tag
Without it X chooses the layout itself and often shows a small card or none. Add twitter:card = summary_large_image.
The image does not meet X’s limits
For summary_large_image the image must be at least 300 × 157 px and under 5 MB; SVG is not supported. The checker tests the file X would download.
X is showing a cached card
X caches card data. If this checker shows the right tags, post the URL with ?v=2 added to get a fresh card.
The page needs a login or JavaScript
Twitterbot reads the raw HTML without logging in or running scripts. Tags must be in the HTML the server sends.
How to refresh X (Twitter)’s cached preview
The Card Validator page still exists but no longer shows a preview, so it cannot be used to check or refresh a card. The way to see the current card is to start a new post and paste the link; the composer fetches it.
To force a fresh fetch after fixing your page, share the URL with a harmless query string such as ?v=2. Posts that were already published keep the card they were created with.
The best share image for X (Twitter)
For summary_large_image, use a 1200 × 630 px image (X crops wide cards close to 2:1, so keep text centred). The minimum is 300 × 157 px and the limit is 5 MB. JPG, PNG, WEBP and GIF work; only the first frame of a GIF is used, and SVG is not supported. For the small summary card, use a square image of at least 144 × 144 px.
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@yourhandle"> X (Twitter) preview questions
Check the preview on other apps
Every app reads the same Open Graph tags but shows them differently. The checker above previews all of them at once; these pages explain each app’s own rules.
Seeing the wrong image on every app? Our guide Link Preview Showing the Wrong Image? How to Clear the Cache on Every Platform covers the fixes in one place.
See your X (Twitter) preview before you share the link
Check the tags, test the image, and fix the preview in minutes. Free, no signup.
Check a URL