What’s the issue?
Your OG image is too small for one or more social media platforms. When an image doesn’t meet a platform’s minimum dimensions, it may be displayed as a tiny thumbnail, heavily upscaled (appearing blurry), or not shown at all.
How it looks
❌ Small image (256×256px)
✅ Correct size (1200×630px)
Minimum dimensions by platform
Each platform has different minimum requirements:
| Platform | Minimum size | Recommended | Behavior when too small |
|---|---|---|---|
| 200x200px | 1200x630px | Falls back to small link preview | |
| X (Twitter) | 300x157px | 1200x628px | May not display image at all |
| 1200x628px | 1200x628px | Shows smaller card format | |
| ~300x200px | 1200x630px | Image may not appear | |
| Slack | ~400x200px | 1200x630px | Shows tiny thumbnail |
| Discord | 256x256px | 1200x630px | Renders small embed |
| Telegram | No strict min | 1200x630px | May crop awkwardly |
How to fix it
Resize your image to the universally recommended 1200x630px (1.91:1 aspect ratio):
<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" />
Common causes
1. Using a logo or icon as the OG image
Logos are typically small (e.g., 256x256). Create a dedicated OG image that includes your logo within a 1200x630 canvas.
2. Using a thumbnail instead of the full image
CMS platforms sometimes generate small thumbnails. Make sure the og:image URL points to the full-resolution version.
3. Dynamically generated images at low resolution
If you use a service like @vercel/og or Satori, ensure the output dimensions are set to 1200x630.
Quick fix with design tools
- Figma — Create a frame at 1200x630px
- Canva — Use the “Social Media” template category
- Squoosh — Resize existing images to the right dimensions
Automation example
Sharp (Node.js):
import sharp from 'sharp'
await sharp('small-image.png')
.resize(1200, 630, { fit: 'cover' })
.jpeg({ quality: 85 })
.toFile('og-image.jpg')