Guide
Discord link preview not showing? 7 fixes that work
Discord shows a link preview only when Discordbot can fetch your URL and find Open Graph tags or a component embed in the first HTML response. Most missing previews come from bot protection, tags added by JavaScript, stale cache, or channel settings.
Check these in order
1. Bot protection. Cloudflare challenges or other WAF rules can serve Discordbot a challenge page instead of your HTML. Allow the Discordbot user agent on public pages.
2. JavaScript-only tags. Discordbot does not run JavaScript. Meta tags and embed scripts must be in the server-rendered HTML.
3. Relative image URLs. Use an absolute https URL for og:image so Discord can load it.
4. Cache. Discord caches previews. After you fix a page, test with a query string such as ?v=2 or wait for the recrawl.
5. Embeds turned off. Users can disable link previews in their settings, and a message can have its embeds removed.
6. Channel permissions. Links only preview where the sender has the Embed Links permission.
7. Missing tags. Make sure og:title, og:description, and og:image exist on the exact URL you share, including after redirects.
Test it quickly
Run the free Tinycord Discord-ready checker on your URL, or fetch it yourself with curl -A Discordbot and confirm the tags appear in the raw HTML.
Common questions
- Why does my Discord embed show on some links but not others?
- Each URL is fetched separately. A page that renders tags with JavaScript, redirects to a blocked page, or sits behind bot protection will not preview even if your homepage does.
- How long does Discord cache a link preview?
- Discord keeps previews cached for a while after the first fetch. Tinycord cards typically refresh after about 30 minutes; add a query string to test changes sooner.
Try it on your own page
Or browse the examples gallery.