The Twitter Card override
Teams prioritizes twitter:image over og:image. If your page has both set to different URLs, Teams shows the Twitter Card image. If you use a square twitter:image for Twitter/X and a landscape og:image for Facebook, Teams picks the square one.
<!-- Teams will show the twitter:image, not the og:image -->
<meta property="og:image" content="https://example.com/og-landscape.jpg">
<meta name="twitter:image" content="https://example.com/twitter-square.jpg">
Fix: set twitter:image to the same value as og:image, or remove twitter:image entirely.
Cached old metadata
Teams caches unfurl data for about 30 minutes. If you recently changed og:image, the old image persists until the cache expires. The Microsoft image proxy also has its own cache, which may lag behind the metadata cache.
Wait 30 minutes, or append a query parameter (?v=2) to force a fresh crawl.
Image cropping issues
Teams side-crops unfurl images. Standard 1200x630 images lose some of the left and right edges. Content near the edges gets clipped.
Center your important content with at least 50-100px of safe margin on all sides.
Unsupported image format
SVG images return 415 Unsupported Media Type. Teams may show no image or grab something unrelated from the page. Convert to PNG or JPEG.
Diagnosis steps
- Check for Twitter Card tags – do
twitter:imageandog:imagediffer? Teams uses the Twitter Card value. - Check image format – JPEG or PNG, not SVG.
- Check the cache – wait 30 minutes or bust with a query parameter.
- Check image accessibility – load the
og:imageURL in a browser. - Check dimensions – 1200x630 is optimal.