Skip to content

Twitter card image not showing on X

The most common cause is a missing twitter:card tag. X requires this tag to be explicitly set. Without it, X shows a plain text link with no image, even if og:image is present. Add twitter:card and verify your image is public and over HTTPS.

Check your X card in peek →

Common causes and fixes

Error
twitter:card tag is missing
X requires twitter:card to be explicitly set. Without it, X shows a plain link with no card. Add: <meta name="twitter:card" content="summary_large_image" />
Error
No twitter:image and no og:image
X falls back to og:image if twitter:image is absent. You need at least one of these. Set og:image or add twitter:image explicitly.
Error
Image URL is not publicly accessible
Open the image URL in incognito. If it does not load, X cannot fetch it. Use a publicly hosted image.
Error
Image URL uses HTTP instead of HTTPS
X requires HTTPS for card images. Update your twitter:image or og:image to use https://.
Error
Tags are injected by JavaScript
X does not execute JavaScript when fetching card data. All twitter: and og: tags must be in the server-rendered HTML.
Warning
Image is below the minimum size
For summary_large_image, the image must be at least 300x157 px. X recommends 1200x628 px. Very small images are rejected.
Warning
File size over 5 MB
X rejects card images larger than 5 MB. Compress your image before using it as a card image.
Warning
Stale X cache on existing tweets
Previously published tweets cannot have their card preview updated. Use the X Card Validator to verify the card for new tweets.

X card image requirements

Requirement summary_large_image summary
Recommended size 1200 x 628 px 144 x 144 px
Minimum size 300 x 157 px 144 x 144 px
Max file size 5 MB 5 MB
Formats JPEG, PNG, WebP, GIF JPEG, PNG, WebP, GIF
Protocol HTTPS required HTTPS required

Verify with the X Card Validator

The X Card Validator fetches your page and shows how X will render the card. Use it to debug issues and verify before publishing.

Open X Card Validator ↑

Correct Twitter/X card tags

<!-- Required for X card with large image -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your Page Title" />
<meta name="twitter:description" content="A clear description under 200 characters." />
<meta name="twitter:image" content="https://example.com/og.jpg" />
<meta name="twitter:image:alt" content="Description of the image" />

<!-- og: tags as fallback if twitter: tags are absent -->
<meta property="og:title" content="Your Page Title" />
<meta property="og:image" content="https://example.com/og.jpg" />

Related guides

Frequently asked questions

Why is my Twitter card image not showing?
The most common cause is a missing twitter:card tag. X requires twitter:card to be explicitly set. Without it, X shows a plain text link with no image. Also check that twitter:image is present (or og:image as fallback), the image URL is public and over HTTPS, and the image meets the minimum 144x144 px size.
Do I need both twitter:image and og:image?
No. X falls back to og:image if twitter:image is not set. If you already have og:image, adding twitter:card and optionally twitter:image is usually sufficient. Using twitter:image gives you explicit control over what X shows, independent of og:image.
What twitter:card type should I use?
Use summary_large_image for article pages, blog posts, and most content. This shows a large image above the title and description. Use summary for short content where a small square thumbnail is acceptable. summary_large_image is the most common choice for link sharing.
How do I force X to re-fetch my card metadata?
Use the X Card Validator at cards-dev.twitter.com/validator. Paste your URL and click Preview Card. X will re-fetch your metadata and show the current card. Previously published tweets don't update.
What image size does X recommend for Twitter cards?
X recommends 1200x628 px for summary_large_image cards. The minimum is 144x144 px (for summary) or 300x157 px (for summary_large_image). Images must be under 5 MB and in JPEG, PNG, WebP, or GIF format.