Slack Unfurl Preview Guide
Slack automatically unfurls links posted in channels. It reads Open Graph, Twitter Card, and oEmbed data to build the preview. Understanding what Slack fetches helps you debug failed unfurls.
Preview with Slack →How Slack fetches pages
- → Slack uses HTTP Range headers to fetch as little of the page as possible.
- → It reads oEmbed, Twitter Card, and Open Graph tags in that order of preference.
- → Unfurl previews are cached globally for ~30 minutes.
Common unfurl failure reasons
| Problem | Fix |
|---|---|
| No metadata on page | Add og:title and og:url at minimum |
| Page is private or auth-gated | Make the page publicly accessible |
| URL has no protocol prefix | Always use https:// in URLs shared in Slack |
| Too many links in one message | Slack limits unfurls per message |
| Image not publicly reachable | The og:image URL must be publicly reachable over HTTPS |
Recommended tags
<!-- Open Graph (primary) --> <meta property="og:title" content="My Post Title" /> <meta property="og:description" content="A short description." /> <meta property="og:image" content="https://example.com/og.jpg" /> <meta property="og:url" content="https://example.com/my-post" /> <meta property="og:site_name" content="My Site" /> <!-- Twitter Card (also read by Slack) --> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="My Post Title" /> <meta name="twitter:description" content="A short description." /> <meta name="twitter:image" content="https://example.com/og.jpg" />
Debugging
Use the Slack unfurl debugger to inspect and reset the cached unfurl for any URL.
Frequently asked questions
- What metadata does Slack use for link unfurls?
- Slack reads oEmbed, Twitter Card, and Open Graph tags (in that order of preference). At minimum, og:title and og:url are needed for a basic unfurl to appear.
- Why is my Slack link not unfurling?
- The most common causes are: the page is auth-gated (Slack cannot fetch it), the og:image URL is not publicly accessible, the URL is missing the https:// protocol prefix, or there are too many links in one Slack message.
- How long does Slack cache link previews?
- Slack caches unfurl previews globally for approximately 30 minutes. Use the Slack unfurl debugger to manually clear the cache for a specific URL.
- How do I preview my Slack link unfurl before sharing?
- Paste your URL into peek to see exactly how Slack will render your link unfurl in a channel (including the site name, title, description, and image).