Home/ Guides/ Slack link preview

Guide · Open Graph

Why your link won't unfurl in Slack.

You paste a link and Slack shows a bare blue URL instead of a rich card. Here's every reason an unfurl fails — from a workspace setting to a missing tag to a cached miss — and the one-line fix for each.

Updated July 1, 2026 · by slsh.me

The short answer

Slack unfurls from your page's og:title, og:description and og:image. If one is missing, Slackbot is blocked, or previews are turned off, you get a bare link.

Reads og:title / description / image Crawler Slackbot-LinkExpanding Cache ~30 min per URL Debugger None

Slack has no re-scrape button. Once it caches a URL, editing your tags won't update the card — add a query string like ?v=2 to make Slack treat it as a new link and unfurl fresh.

Want to see the exact og: tags Slack will read before you post? The free slsh.me Open Graph checker fetches your page and renders the card — no Slack, no login.

Why Slack won't unfurl your link.

Slack fails quietly — it just shows the bare URL, with no error. Here's what's actually going on, and the fix for each.

Cause What's happening Fix
Previews turned offLink previews are disabled for your account or the whole workspace.Preferences → Messages & media → enable Show previews of links (an admin controls the workspace-wide toggle).
Custom link textYou posted <url|label> or a Markdown [label](url) — Slack suppresses the card for renamed links.Paste the raw URL on its own so Slack can unfurl it.
Wrapped or angle-bracketedThe link sits in a code block, inline backticks, or literal < > brackets.Post the URL as plain text, outside any code formatting.
Missing OG tagsThe page has no og:title / og:description / og:image.Add the core Open Graph tags to the page <head>.
Bad og:imageThe image URL is relative, behind a login, or too large (Slack skips very heavy images).Use an absolute https:// image at 1200×630, a few hundred KB.
Slackbot blockedSlackbot-LinkExpanding is denied by robots.txt, a firewall, or a login wall, so it never sees the tags.Allow Slackbot in robots.txt and serve a public 200 over HTTPS.
Stale cacheSlack cached an earlier miss and keeps serving the empty preview.Append a query string (?v=2) or wait for the ~30-minute cache to expire, then re-share.

Force a fresh unfurl in three steps.

You've fixed the tags but Slack still shows the old (or empty) card. Because there's no debugger, you bust the cache instead.

Confirm the tags are right first

Check the page returns valid og:title, og:description and an absolute og:image — a standalone Open Graph checker shows exactly what Slackbot will read, without posting to a channel.

Bust Slack's per-URL cache

Slack keys its cache on the exact URL, so add or change a query parameter — ?v=2, ?v=3 — to make it a "new" link. Slack re-fetches and unfurls with your current tags.

Re-share and verify

Post the cache-busted URL. If the card renders, the original URL will also refresh once its ~30-minute cache expires. Still bare? Re-check the causes above — a blocked Slackbot or disabled previews won't be fixed by cache-busting.

Slack has no debugger — check the tags yourself.

There's no "Slack Sharing Debugger." Facebook has one, LinkedIn has the Post Inspector, but Slack ships no public tool to preview an unfurl or force a re-scrape. Your only levers are fixing the tags and busting the cache — blind, unless you can see the tags some other way.

The Open Graph spec is public, so any checker reads what Slack reads. Slack unfurls from the same og: tags every other platform uses, so a standalone checker fetches your page and shows the exact title, description and image Slackbot would — plus the card for X, LinkedIn, Discord, iMessage and WhatsApp in one pass, no login.

The free slsh.me Open Graph checker fetches your page, lists every og: and twitter: tag, runs a best-practices audit, and renders the real card across Slack, X, LinkedIn, Facebook, Discord, iMessage and WhatsApp — no login needed.

Check your tags on the free Open Graph checker

Want the card right the first time? Shorten your link on slsh.me and design its Open Graph card in seconds — free.

Questions

Why is my link not unfurling in Slack? +
The usual causes are: link previews are turned off for the workspace or your account, the page is missing og:title / og:description / og:image, the og:image is relative or behind a login, Slackbot is blocked in robots.txt or by a firewall, you wrapped the URL in custom link text or a code block, or Slack is serving a cached empty preview. Fix the specific cause and re-share the link.
How do I force Slack to refresh a link preview? +
Slack has no manual re-scrape button. It caches each URL for roughly 30 minutes, so the simplest fix is to add or change a query string — for example append ?v=2 — which Slack treats as a new URL and unfurls fresh. Fix your og: tags first, then post the cache-busted URL.
Does Slack use Open Graph tags? +
Yes. Slack's unfurler reads standard Open Graph tags — og:title, og:description, og:image and og:site_name — the same tags Facebook and LinkedIn use. It doesn't need twitter:card, though it falls back to it and to oEmbed when Open Graph tags are absent.
Why does a link unfurl for me but not for teammates? +
Link previews are a per-account and per-workspace setting. If a teammate turned off Show previews of links in Preferences → Messages & media, they see a bare link while you see the card. A workspace admin can also disable unfurling org-wide.
Is there a Slack link preview debugger? +
No. Unlike Facebook's Sharing Debugger or LinkedIn's Post Inspector, Slack offers no public tool to preview an unfurl. The practical alternative is a standalone Open Graph checker that reads the same og: tags Slack would and renders the card, with no login.

Ship links that unfurl everywhere.

Shorten any URL with slsh.me and design its Open Graph card — title, description, image — once. It ships valid tags Slack, X, LinkedIn and the rest all read, and you get live click analytics for free.

Create a link with slsh.me

Free forever · see pricing