← Blog

Twitter Card Image Not Showing: 7 Causes and Fixes

Your tweet with a link shows no image — just a plain URL. Here are the 7 most common causes and exactly how to fix each one.

Twitter card image not showing?

Check your Open Graph tags free with Proovd — paste a URL and see exactly how it looks on X/Twitter, LinkedIn, Slack, Discord, WhatsApp, and Reddit.

Quick Answer

  • X/Twitter requires twitter:card and twitter:image tags
  • Image must be at least 800×418 pixels for summary_large_image
  • Use the Twitter Card Validator to debug and clear cache

The 7 Causes of Missing Twitter Card Images

When a URL shared on X (formerly Twitter) doesn't show a card image, it's almost always one of these seven issues. Let's go through each one.

1. Missing or Incorrect twitter:card Tag

X requires an explicit twitter:card tag. Without it, X won't render a card at all — even if your OG tags are perfect.

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your Title" />
<meta name="twitter:description" content="Your description" />
<meta name="twitter:image" content="https://yoursite.com/image.jpg" />

There are two card types: summary (small thumbnail) and summary_large_image (full card). Use summary_large_image for the best visual impact.

2. Image Too Small

X has minimum image size requirements:

If your image is smaller than the minimum, X silently drops the card. There's no error message — the link just appears as plain text.

3. Image URL Not Publicly Accessible

X's crawler must be able to fetch your image without authentication. Common blockers:

4. Twitter's Cache Hasn't Refreshed

Like all platforms, X caches card data. After you update your tags, X won't pick up changes until the cache expires or you force a refresh.

<meta property="og:image" content="https://yoursite.com/new-image.jpg" />

Use the Twitter Card Validator to enter your URL and trigger a cache refresh. The validator shows you exactly what X sees.

5. Wrong MIME Type or Corrupt Image

If your image server returns the wrong MIME type (e.g., serving a PNG with image/jpeg content-type), X may reject it. Similarly, a corrupt or partially loaded image will be dropped.

6. Page Returns an Error to Twitter's Crawler

If your page returns a 4xx or 5xx error when Twitter's bot fetches it, no card will be generated. This can happen with:

7. Using Only OG Tags Without Twitter Card Tags

While X can fall back to OG tags, it prefers twitter:card tags. If you only set og:image and not twitter:image, X may not render the card correctly. Always set both.

<!-- Open Graph (for LinkedIn, Discord, Slack, WhatsApp) -->
<meta property="og:image" content="https://yoursite.com/image.jpg" />

<!-- Twitter/X specific (for X/Twitter) -->
<meta name="twitter:image" content="https://yoursite.com/image.jpg" />

Quick Fix Checklist

  1. Confirm twitter:card tag is present with value summary_large_image
  2. Verify twitter:image tag has an absolute URL
  3. Check image is at least 800×418 pixels
  4. Ensure image is publicly accessible (no auth, not blocked)
  5. Validate with Twitter Card Validator
  6. Test with Proovd for multi-platform verification

Frequently Asked Questions

How long does Twitter cache card data?

Twitter's cache typically lasts 24-48 hours. Using the Card Validator accelerates this to near-instant.

Does X still use the name "Twitter Card"?

Yes. Even after the rebrand to X, the documentation and tools still use "Twitter Card" terminology.

Can I use the same image for OG and Twitter Card?

Yes. Use the same URL for both og:image and twitter:image. The only difference is the tag name and attribute.

Validate your Twitter card before you tweet

Check your Open Graph tags free with Proovd — paste a URL and see the preview on X, LinkedIn, Slack, Discord, WhatsApp, and Reddit.