Discord Link Preview Not Working? 6 Causes & Fixes
You ship a launch post, drop the link into a Discord server, and… grey text. No card, no image — just a bare URL nobody wants to click. Meanwhile the same link renders a beautiful preview in WhatsApp and Slack, and the one place your actual audience lives (a dev community, a gaming guild, a maker group) shows nothing.
Discord is the platform with the most unique failure modes of any we’ve documented. Two of its traps exist nowhere else: it refuses to preview masked links entirely, and its crawler (Discordbot) is a frequent casualty of firewall rules meant to stop real bots. After running more than 550 URLs through our OG Image Checker — which renders the exact dark-theme Discord card — the failures sort into six repeatable causes. This guide covers all six, the image rules nobody at Discord has written down, and the ?nocache=1 trick that stands in for the debugger Discord never built.
Jump to: How Discord unfurls your link · The image rules · The 6 causes · The twitter:card quirk · Refreshing the cache · Discord vs. a multi-platform checker · The 30-second routine
How Discord unfurls your link
Discord calls its link previews embeds. The mechanics, in order:
- You paste a bare URL. This matters more than anywhere else: Discord only unfurls URLs that appear as raw text in the message. A masked markdown link —
[my post](https://yoursite.com)— sends the click through fine but generates no embed at all. That’s by design, not a bug. - Discord’s crawler,
Discordbot, fetches the page and reads its Open Graph tags —og:title,og:description,og:image. - The card renders in Discord’s dark frame, with a slightly more aggressive crop than Facebook or LinkedIn apply.
Discord now has official developer documentation for link previews — worth a read if you maintain the site side. What it doesn’t give you is a debugger: there is no Discord equivalent of Facebook’s Sharing Debugger, no re-scrape button, no way to see what the crawler saw. Everything you’d use a debugger for, you’ll do with the workarounds below.
The image rules nobody wrote down
Discord documents no official image minimum. Here’s what actually happens:
- The practical floor is ~300×300. The large embed image slot renders at roughly 300×300 on screen. Images far below that get skipped or displayed postage-stamp small. Not official — observed behavior our checker sees constantly.
- The target is 1200×630 (1.91:1). The same universal OG size Facebook and Slack use. Our og image size guide has the full per-platform table.
- There’s an upper pixel cap. Community testing shows images above roughly 9500×9500 pixels (about 90 million pixels) fail to embed at all — an edge case that bites sites exporting print-resolution art.
- File weight matters for fetch speed. Discord’s crawler won’t wait forever for a 5 MB PNG. A few hundred KB renders instantly and looks identical.
Discord link preview not working: the 6 causes
Ordered by how often we see them. The first two are Discord-only.
1. You pasted a masked link, not a bare URL
The number one Discord-specific failure. [check this out](https://yoursite.com) — no embed. https://yoursite.com on its own line — embed. If your link works when pasted raw but not from your fancy formatted message, this is it. Angle brackets (<https://yoursite.com>) suppress the preview too, by design.
2. Embeds are switched off
Discord’s Settings → Text & Images → “Show website preview info from links” kills every embed client-side. If links other people post also show no previews, check this first — you’re debugging your app, not your website. (This mirrors the WhatsApp settings toggle we documented in the WhatsApp guide — same class of receiver-side false alarm.)
3. og:image is missing — or relative
The standard failure, same as every platform. Your head needs the full trio:
<meta property="og:title" content="Your Page Title" />
<meta property="og:description" content="One clear sentence about the page." />
<meta property="og:image" content="https://yoursite.com/og.png" />
Audit all three plus canonical, robots and charset in one pass with our meta tag checker.
4. Your image is too small — or absurdly large
Under ~300×300: skipped or tiny. Over ~9500×9500 pixels: refused outright. Re-export at 1200×630 — our OG image generator has the preset built in, renders in your browser, and exports at a sensible file weight. For what good looks like, the inspiration gallery has 26 real cards from Stripe, The Verge and others.
5. Discordbot is blocked by your firewall
Discord fetches with the Discordbot user agent — and bot-protection rules love to challenge it. If you’re on Cloudflare, Bot Fight Mode is the usual suspect; check your firewall events log for challenges against Discordbot around the time you posted. We’ve watched hosting-level UA filters eat embeds while the site worked perfectly in every browser. While you’re loosening rules for one crawler, make sure you didn’t tighten them for search crawlers too — our sitemap validator batch-checks that every URL still resolves cleanly.
6. Discord cached your page before you fixed it
Discord caches aggressively. If the embed worked once, it will keep showing the old version for a while even after your tags are perfect. There’s no Scrape Again button — but there is a trick.
Refreshing Discord’s cache: the ?nocache=1 trick
Since Discord keys its cache on the exact URL, a new URL is a fresh fetch:
- Fix your tags and deploy.
- Append
?nocache=1to the URL:https://yoursite.com/page?nocache=1 - Paste that into Discord — the embed generates from your current tags.
- Once it looks right, post the clean URL. Depending on the page, Discord may re-fetch it fresh now that the cached entry has aged, or you can keep the parameter in the message (it’s harmless).
Without the trick, stale previews usually clear themselves within a few hours. There’s no official tool, no status page, no queue to check — just the parameter and patience.
The twitter:card quirk
One quirk worth knowing even though Discord is an Open Graph platform at heart: some sites only render the full-size image after adding Twitter Card tags. It’s a real, repeatable behavior developers keep rediscovering — the subject of more than one long Stack Overflow thread — and the fix is one line:
<meta name="twitter:card" content="summary_large_image" />
If your og:image is correct, the dimensions are right, and Discord still shows a text-only or small-image embed, add it. For the full anatomy of these tags, see our Twitter Cards guide — the same tags X reads.
Discord vs. a multi-platform checker
Discord has no official debugger, so this comparison is shorter than Facebook’s:
| Discord’s tooling | OG Image Checker | |
|---|---|---|
| Debugger / re-scrape tool | None exists | — |
| Renders the exact Discord card | No tool to do it in | Yes — dark theme, real crop, no login |
| Refresh the cache | ?nocache=1 workaround |
Documented above |
| Other platforms | — | X, Facebook, LinkedIn, WhatsApp, Slack, Telegram, Reddit — side by side |
| Tag + image audit | Manual view-source | Full audit: tags, dimensions vs. the ~300×300 floor, file weight |
The honest bottom line: for Discord specifically, a third-party checker isn’t a convenience — it’s the only preview tooling that exists. Compare the options in our alternatives round-up if you’re evaluating dedicated tools.
Working through the other chat platforms too? We documented Facebook’s seven causes (CMYK trap included) and WhatsApp’s 300 KB threshold — same model, different traps per platform.
Before you post: the 30-second routine
- Paste it bare — raw URL, own line, no markdown masking.
- Check your own settings — Text & Images → website previews on.
- Preview the card first — OG Image Checker renders the Discord embed alongside seven other platforms, and flags the image problems that cause drops.
- If Discord cached an old version —
?nocache=1and re-paste.
That’s the entire defense. Discord won’t email you about a broken embed — the first sign is usually your launch post sitting in a busy channel, grey and unclicked.
FAQ
Why is my link preview not showing in Discord?
The six causes that cover nearly every case: you pasted a masked markdown link instead of a bare URL, embeds are switched off in your settings, og:image is missing or relative, the image is under the practical ~300×300 floor or absurdly large, the Discordbot crawler is blocked by your firewall, or Discord is serving a stale cached version. Audit all six with a free OG image checker — its Discord tab renders the exact dark-theme card.
What image size does Discord need for a link preview?
Discord documents no official minimum. In practice the large embed image renders at roughly 300×300 on screen, so images well below that display small or get skipped — treat ~300×300 as the practical floor and 1200×630 (1.91:1) as the target. At the other extreme, community testing shows images above roughly 9500×9500 pixels fail to embed at all.
How do I force Discord to refresh a link preview?
Discord has no official debugger or scrape button. The practical fix: append a query parameter like ?nocache=1 to the URL and paste it again — the new URL is a new cache key, so Discord re-fetches your tags. Remove the parameter once the preview looks right. Without it, stale previews usually clear on their own within a few hours.
How do I hide or remove a link preview in Discord?
Three ways, depending on who you are: send the link as a masked markdown link like clickable text — Discord never generates an embed for a non-bare URL; wrap it in angle brackets like https://example.com to suppress the preview; or after sending, remove the embed from your own message via the edit menu. Recipients can also turn previews off entirely in Settings → Text & Images.
Does Discord use Open Graph tags or Twitter Card tags?
Open Graph is the foundation — Discord reads og:title, og:description and og:image to build the embed. But there’s a documented-in-practice quirk: some sites only get the full-size image after adding twitter:card and twitter:image tags, so include summary_large_image alongside your OG tags to be safe.
Check your OG image right now
Paste any URL and see how it renders on all 8 major platforms — with a full tag audit.
Open the free OG Image Checker →