Cached old image
If you recently changed your og:image, Telegram is probably still serving the cached version. Telegram’s cache has no documented expiration, so old images can persist indefinitely.
Send your URL to @WebpageBot to force a re-fetch. Existing messages keep the old image; only new shares show the update.
Relative URL not resolving
og:image must be an absolute URL. Relative paths don’t resolve:
<!-- Won't work -->
<meta property="og:image" content="/images/preview.jpg">
<!-- Will work -->
<meta property="og:image" content="https://example.com/images/preview.jpg">
Image exceeds 5 MB
Telegram won’t fetch images larger than 5 MB. If it can’t load your og:image, it falls back to picking a random image from the page body, or shows nothing. A 1200x630 JPEG at 200-500 KB is plenty.
Small thumbnail instead of large image
You’re probably missing the twitter:card tag. Without it, Telegram defaults to the small thumbnail layout regardless of image dimensions:
<meta name="twitter:card" content="summary_large_image">
This catches a lot of developers off guard: og:image alone doesn’t produce a large preview on Telegram.
No og:image tag
Without an explicit og:image, Telegram picks an image from the page body. It might grab a logo, an ad, a user avatar, or nothing. Always set og:image explicitly.
Image too small
Images below 200 x 200 pixels may not render. Use at least 600 x 315 for reliable display, 1200 x 630 for best quality.