Home/ Guides/ Discord link preview not showing

Guide · Open Graph

Your Discord link preview isn't showing?

Discord reads the same Open Graph tags as everyone else — but it has its own quirks that quietly kill the embed: angle brackets, a blocked crawler, a missing image, a sticky cache. Here's each cause and the one-line fix.

Updated June 30, 2026 · by slsh.me

The short answer

Don't wrap the link in < >, let Discordbot/2.0 fetch the page, ship an absolute og:image, then add ?v=2 to bust Discord's cache.

Crawler Discordbot/2.0 Reads og:title · description · image Accent theme-color Refresh new query string

Discord has no debugger and no "scrape again" button. It caches each exact URL, so editing your tags isn't enough — you have to make Discord see a different URL (a query string, or a re-pointable short link) before it re-reads the page.

Want to see the card before you paste it in a channel? The free slsh.me Open Graph checker renders the real Discord embed — plus X, Facebook, LinkedIn, Slack, iMessage and WhatsApp — from your live tags, no login.

How Discord builds an embed.

When you paste a link, Discord's crawler fetches the page and reads a small set of tags. Get these right and the card appears.

It fetches the page as Discordbot/2.0

Discord sends its own crawler (user-agent Discordbot/2.0) to your URL. If your server, robots.txt, or bot-protection blocks it, Discord gets nothing and shows a bare link — no embed.

It reads your Open Graph tags

Discord builds the embed from og:title, og:description, og:image, og:url and og:type. The og:image must be an absolute HTTPS URL that's publicly reachable — a relative path or a login-walled image won't render.

It sizes the image from the dimensions you declare

Declare og:image:width and og:image:height (1200×630 is the safe card size). With those set, Discord shows the full-width image; without them — or with a tiny image — it falls back to a small side thumbnail.

It colours the accent bar from theme-color

The strip down the left of a Discord embed comes from your page's <meta name="theme-color">. It's optional, but it's the cheapest way to make the embed look like your brand instead of Discord grey.

Why it's not showing.

Almost every missing Discord preview is one of these. Find your symptom, apply the fix.

Cause What's happening Fix
Link wrapped in < >Angle brackets tell Discord to suppress the embed on purpose.Paste the bare URL, no < or > around it.
Discordbot is blockedYour robots.txt, WAF, or bot-fight mode blocks Discordbot/2.0.Allow Discordbot; serve a 200 over HTTPS to its crawler.
Missing / relative og:imageNo image tag, or it points at a relative path.Add an absolute og:image (https://…), 1200×630.
Image too large or unreachableThe image is huge, slow, or behind a login, so Discord drops it.Host a reasonably sized public image; keep it well under a few MB.
Stale cacheDiscord cached an empty or old scrape for that exact URL.Append a query string — ?v=2 — so it re-fetches.
Embed manually removedSomeone hit the on the embed, or "Suppress Embeds".Re-post the link, or stop suppressing embeds on the message.
Embeds off for youThe channel/role lacks the Embed Links permission.Grant Embed Links to the role in that channel.

There's no Discord debugger — so test before you post.

Discord gives you no Sharing Debugger. Facebook and LinkedIn both have official tools that re-scrape on demand; Discord has neither, and it caches each URL for hours. That makes "just paste it and see" an expensive way to debug — every failed attempt is another cached miss you then have to bust with a query string.

Check the tags off-platform first. Because Open Graph is a public spec, any checker can fetch your page as a crawler would and render the exact embed Discord will build — before you ever paste the link into a channel. Get it right once, post it once.

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 on Discord, X, Facebook, LinkedIn, Slack, iMessage and WhatsApp — no login needed.

Preview your Discord card on the free checker

Want the embed right the first time? Shorten your link on slsh.me and design its Open Graph card in seconds — then re-point it anytime without fighting the cache. Free.

Questions

Why is my Discord link preview not showing? +
The usual causes: the URL is wrapped in angle brackets (<https://example.com> suppresses the embed on purpose), the page blocks Discord's crawler (Discordbot/2.0), the og:image is missing or relative, the image is too large to fetch, or Discord cached an empty scrape from before your tags were live. Fix the tag, allow Discordbot, and append ?v=2 to force a fresh fetch.
Does Discord use Open Graph tags? +
Yes. Discord reads the standard Open Graph tags — og:title, og:description, og:image, og:url and og:type — to build its embed, plus the theme-color meta tag for the embed's left accent bar. The og:image must be an absolute HTTPS URL that's publicly reachable.
How do I force Discord to refresh a link preview? +
Discord has no public debugger and caches each exact URL for hours. Change the URL it sees: append a harmless query string such as ?v=2 (then ?v=3) so Discord treats it as a new link and re-scrapes the page. A short link you can re-point sidesteps the cache entirely.
Why does my image show as a small thumbnail instead of a big card? +
Discord shows the large-image embed when the og:image is big enough and declared with og:image:width and og:image:height. A 1200×630 image with those dimensions set renders the full-width card; a small or undimensioned image falls back to a side thumbnail.

Ship a link that unfurls everywhere.

Shorten any URL with slsh.me and design its Open Graph card — title, description, image — once. It ships valid tags Discord reads on the first fetch, you can re-point it without fighting the cache, and you get live click analytics for free.

Create a link with slsh.me

Free forever · see pricing