Slack & Discord Link Previews: One 1200×630 OG Image
Slack and Discord both build link previews from the same source: your page's Open Graph meta tags. Ship one 1200×630 og:image at an absolute HTTPS URL and both platforms render a clean preview — no per-app tags required. The only nuance is that Slack crops to a slightly wider 2:1 frame, so keep your logo and headline in the centre.
Do Slack and Discord read the same tags?
Yes. Both platforms unfurl links by fetching the target page and parsing its Open Graph tags — the <meta property="og:..."> markup defined by the Open Graph protocol. Discord's embed and Slack's unfurl both read og:title, og:description, og:image, and og:url. There is no slack: or discord: namespace to maintain. If your tags are correct, the preview is correct in both.
That shared foundation is why the universal 1200×630 card does so much work: the same asset that covers Facebook, X, and LinkedIn also covers the two chat platforms where colleagues and communities actually share your links.
What image size works for both?
Use 1200×630 (1.91:1). It is Discord's recommended ratio and it survives Slack's slightly different crop. The catch is that the two platforms frame the image differently.
| Platform | Display size | Aspect ratio | og:image source | Notes |
|---|---|---|---|---|
| Discord | 1200×630 | 1.91:1 | og:image | Renders the full 1.91:1 frame in the embed |
| Slack (expanded) | 1200×600 | 2:1 | og:image | Crops a 1200×630 card to a wider 2:1 band |
Because Slack trims the top and bottom to reach 2:1, anything near the vertical edges of a 1200×630 card can get clipped in a Slack unfurl. Keep the content centred.
How small should the file be?
Small enough to load before the scraper gives up. Both platforms fetch your image when they unfurl the link; a multi-megabyte file on a slow connection can time out and leave a preview with no image.
Practical rules:
- Use JPEG for photographic cards and PNG when the design is flat color and text.
- Compress before publishing — a quality-80 JPEG is visually indistinguishable from 100 at a fraction of the bytes.
- Serve the image over HTTPS with an absolute URL. A relative
og:imagepath is the most common reason a Slack or Discord preview comes back blank.
The tags Slack and Discord actually read
Four tags get you a working preview in both:
<meta property="og:title" content="Your headline (under ~60 characters)" />
<meta property="og:description" content="One-line summary (110–160 characters)" />
<meta property="og:image" content="https://yoursite.com/card.jpg" />
<meta property="og:url" content="https://yoursite.com/post" />
The og:image value must be an absolute HTTPS URL. For the full tag reference, see Open Graph Meta Tags. When a preview still won't render after the tags look right, work through Why Your Link Preview Is Broken — Slack in particular caches unfurls, so a fixed link can keep showing the stale preview until its cache expires.
The one-line takeaway
Export one 1200×630 JPEG under ~200 KB, keep your content in the centred safe zone, and point og:image at an absolute HTTPS URL — Slack and Discord will both unfurl it cleanly. Generating that card automatically for every post, sized and branded, is exactly what Social Card Studio does.
Frequently asked questions
Do Slack and Discord use the same Open Graph tags?
Yes. Both Slack and Discord read the standard Open Graph meta tags — og:title, og:description, og:image, and og:url — to build a link preview. A single correctly-built 1200×630 og:image renders in both, so you do not need platform-specific tags for either.
What image size works for both Slack and Discord?
1200×630 pixels (a 1.91:1 ratio) works for both. Discord recommends 1.91:1; Slack's expanded unfurl displays a 1200×600 (2:1) crop but accepts 1200×630 without breaking. Ship one 1200×630 card and keep critical content in the centre safe zone.
Why isn't my link preview showing in Slack or Discord?
The most common cause is a relative or non-HTTPS og:image URL — both platforms require an absolute HTTPS URL. Slack also caches unfurls, so re-pasting a fixed link may still show the old preview until the cache expires.