Slack link preview not updating
Slack caches link unfurls for approximately 30 minutes. After updating your og:title, og:description, or og:image, wait 30 minutes and paste the link again in a new Slack message. If no preview is showing at all, check that your page is publicly accessible and that your og: tags are in the server-rendered HTML (Slack does not execute JavaScript).
Preview your Slack unfurl in peek →Common causes and fixes
Warning
Stale Slack cache (~30 minutes)
Slack caches link unfurls for approximately 30 minutes. Wait 30 minutes after updating your metadata and paste the link again in a new message.
Error
Page is not publicly accessible
Slack's crawler cannot reach pages behind authentication, VPNs, or private networks. The URL must be reachable by anyone on the internet.
Error
og:title or og:image is injected by JavaScript
Slack does not execute JavaScript. All og: tags must be present in the server-rendered HTML. Use SSR or static generation to pre-render metadata.
Error
og:image URL uses HTTP instead of HTTPS
Slack requires HTTPS for link preview images. Update your og:image to use https://.
Error
Page returns a non-200 status code
Slack will not unfurl pages that return 4xx or 5xx status codes. Verify your page is accessible and returns HTTP 200.
Warning
Workspace unfurling is disabled
Slack workspace admins can disable link unfurling. If no links show previews, check your workspace settings under Preferences > Messages & Media.
Slack cache behavior
| Scenario | What happens |
|---|---|
| Metadata updated | Stale unfurl shown for up to ~30 minutes |
| Wait 30 min + paste in new message | Fresh unfurl with updated metadata |
| Slack Unfurl Debugger | Inspect current unfurl state; may reset cache |
| Private/localhost URL | No unfurl (Slack cannot reach the page) |
| Non-200 response | No unfurl |
Use the Slack Unfurl Debugger
The Slack Unfurl Debugger lets you inspect the unfurl state for any URL and can help reset the cache.
Open Slack Unfurl Debugger ↑Correct tags for Slack unfurls
<!-- Slack reads Open Graph tags (and Twitter Card as fallback) --> <meta property="og:title" content="Your Page Title" /> <meta property="og:description" content="A clear description under 160 characters." /> <meta property="og:image" content="https://example.com/og.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="630" /> <meta property="og:site_name" content="Your Site Name" /> <meta property="og:url" content="https://example.com/your-page" />
Related guides
Frequently asked questions
- Why is my Slack link preview not updating?
- Slack caches link unfurls for approximately 30 minutes. After updating your og:image, og:title, or og:description, wait 30 minutes and paste the link again in a new message. You can also use the Slack Unfurl Debugger to inspect and reset the unfurl state.
- How do I force Slack to refresh a link preview?
- Wait approximately 30 minutes after updating your metadata, then paste the link in a new Slack message. Alternatively, use the Slack Unfurl Debugger at api.slack.com/tools/unfurl-debugger to inspect the current unfurl state.
- Why is my Slack link preview not showing at all?
- Slack requires the page URL to be publicly accessible. Private or localhost URLs won't unfurl. Also check that og:title is in the static HTML (Slack's crawler doesn't execute JavaScript). Pages returning non-200 status codes won't unfurl either.
- What tags does Slack read for link previews?
- Slack reads Open Graph tags (og:title, og:description, og:image, og:site_name) and Twitter Card tags (twitter:title, twitter:description, twitter:image). It also reads oEmbed endpoints if one is declared. Open Graph tags take priority.
- Does Slack execute JavaScript when fetching link previews?
- No. Slack's unfurl crawler does not execute JavaScript. All metadata must be in the server-rendered HTML. If your og: tags are injected by a client-side script, Slack will not see them.