Preview Image Not Showing — How to Fix og:image Not Displaying
Your link preview appears but shows no image — or the wrong image. This is one of the most common link sharing problems, and it almost always has a fixable root cause.
-> Check why your image isn't showing with TryUnfurl
Fix Checklist
Work through this list in order. Most issues are caught within the first three steps.
1. Check that og:image exists in your HTML
View your page source (Ctrl+U or Cmd+U) and search for og:image. If it's not there, add it:
<meta property="og:image" content="https://yourdomain.com/og-image.jpg">
2. Check the image URL is absolute HTTPS
Relative URLs like /images/og.jpg will not work. It must be a full URL:
<!-- Wrong -->
<meta property="og:image" content="/images/og.jpg">
<!-- Correct -->
<meta property="og:image" content="https://yourdomain.com/images/og.jpg">
3. Verify the image loads publicly
Open the exact image URL in a private/incognito browser window. If the image doesn't load there, crawlers can't fetch it either. Common reasons it fails:
- The image returns a 404 error (file not found or moved)
- The image is behind authentication
- The server returns a 403 (forbidden) for bot traffic
4. Check image dimensions
Images that are too small are silently ignored by most platforms.
| Platform | Minimum to display | Recommended |
|---|---|---|
| 200 × 200 px | 1200 × 630 px | |
| Twitter/X | 300 × 157 px | 1200 × 630 px |
| 1200 × 627 px | 1200 × 627 px | |
| Slack | 500 × 262 px | 1200 × 630 px |
| Discord | 300 × 157 px | 1200 × 630 px |
The safest universal size is 1200 × 630 px.
5. Declare image dimensions in your tags
Some platforms won't display an image unless dimensions are explicitly declared:
<meta property="og:image" content="https://yourdomain.com/og-image.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Descriptive alt text">
6. Check robots.txt
If your image files are disallowed in robots.txt, crawlers won't fetch them. Check that your image path isn't blocked:
# Bad — blocks all images
Disallow: /images/
# Fine — only blocks HTML pages
Disallow: /private/
7. Check your image format
- JPG and PNG work universally
- WebP has limited support — some platforms skip WebP images
- GIF — avoid for preview images; use only static images
- SVG — not supported for
og:imageon most platforms
8. Check file size
Images over 8 MB may time out or be skipped when crawlers fetch them. Optimise your image and keep it under 1 MB where possible — smaller images also mean faster preview loading.
9. Clear the platform cache
If you've fixed your image but the old broken state is still showing, the platform has cached the failed result. Force a refresh:
- Facebook — use the Sharing Debugger and click Scrape Again
- Twitter/X — use the Card Validator
- LinkedIn — use the Post Inspector and click Regenerate
- Slack / Discord — delete and re-share the link (or add
?v=2for Discord)
Platform-Specific Image Notes
LinkedIn requires a minimum of 1200 × 627 px to display the large preview-card format. Images below this will show as a tiny thumbnail or no image at all. This is stricter than other platforms.
Twitter / X
For summary_large_image cards, ensure twitter:card is explicitly set to summary_large_image — without it, Twitter may default to a small square card regardless of image size.
Facebook requires og:image to be at least 200 × 200 px but recommends 1200 × 630 px. Images must have a public, stable URL — ensure you're not using CDN URLs that rotate or expire.
Verify Your Image Is Working
Paste your URL into TryUnfurl.com — it shows you whether your og:image is present, whether the image URL is valid, and how it renders on each platform preview.