What’s the issue?
Your OG image has very large dimensions (over 4096px on one side). While the image may technically work on some platforms, oversized images cause several problems:
- Slow loading — Larger images take longer to download, especially on mobile
- Processing failures — Some platforms silently fail to process very large images
- Wasted bandwidth — Social platforms resize images anyway, so the extra pixels are discarded
- Memory issues — Very large images can cause memory pressure on mobile devices
How it looks
⚠ Oversized (5000×2625px)
✅ Optimized (1200×630px)
Platform dimension limits
| Platform | Max dimensions | Behavior |
|---|---|---|
| ~8192px | May timeout during processing | |
| X (Twitter) | 4096x4096px | Image rejected silently |
| ~6000px | May fail to generate preview | |
| Discord | ~8192px | Image may not embed |
| Varies | Combined with file size limit |
How to fix it
Resize your image to the recommended 1200x630px:
<meta property="og:image" content="https://yoursite.com/og-image.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
Automated resizing with Sharp:
import sharp from 'sharp'
await sharp('huge-image.png')
.resize(1200, 630, { fit: 'cover' })
.jpeg({ quality: 80 })
.toFile('og-image.jpg')
Why 1200x630px is the sweet spot
- 1200px wide — Enough for crisp display on all screens, including retina
- 630px tall — 1.91:1 ratio that every major platform supports natively
- File size — Easily compressible to under 300 KB at these dimensions
- Processing — All platforms handle this size instantly
Don’t use retina sizes for OG images
Unlike website assets, OG images don’t benefit from 2x/3x retina sizes. Social platforms always resize to their own display dimensions, so 1200x630 is the optimal maximum.