Discord link embed not working? How to fix your preview
Discord turns links into embeds using your Open Graph tags — and it is one of the few platforms that lets you style the result, with an accent color. When the embed is missing or stale, the cause is usually a missing tag, a blocked scraper or the embed cache.
The free checker shows your previews for nine platforms — from X and WhatsApp to iMessage, Discord and Bluesky.
Get the base tags in place
Discord reads og:title, og:description, og:image and og:site_name (shown above the title). With twitter:card set to "summary_large_image" the image renders big under the text; without it, you often get the small square thumbnail on the right.
Add the accent color
The colored stripe on the left edge of the embed follows your theme-color meta tag. One line (<meta name="theme-color" content="#5865F2">) makes your links instantly recognizable in every server.
Verify what the scraper sees
Paste your URL into the MetaPeek checker — it renders the Discord embed (including the large-image variant) from the exact tags your page serves. If your site blocks bots, Discord gets nothing and shows a bare link.
Refresh a stale embed
Discord caches embeds per URL for a while. While testing, append a query string (?v=2) to get a fresh scrape; for links already posted, the old message keeps its old embed.
Code example
<meta property="og:site_name" content="Your site name" />
<meta property="og:title" content="Your page title" />
<meta property="og:description" content="One or two short sentences." />
<meta property="og:image" content="https://yoursite.com/og-image.jpg" />
<!-- Large image instead of small thumbnail: -->
<meta name="twitter:card" content="summary_large_image" />
<!-- Accent color of the embed stripe: -->
<meta name="theme-color" content="#5865F2" />Common mistakes
- No twitter:card, small thumbnailWithout summary_large_image Discord tends to render the compact embed with a small square image. One extra meta tag fixes it.
- Bot protection eating the scraperAggressive bot filtering (or a login wall) means Discord\u2019s scraper sees an empty or blocked page — and renders nothing. Whitelist scrapers or test with the paste-HTML mode before deploy.
- Editing tags and re-posting the same URLDiscord may serve the cached embed for a while. Use a query-string variant to verify your fix immediately.
Frequently asked questions
Why does my link show nothing at all in Discord?
Either the page has no og: tags, or Discord\u2019s scraper is blocked by your bot protection, or the link was posted with <angle brackets> around it — which tells Discord to suppress the embed.
Can I control the embed color?
Yes — Discord uses the theme-color meta tag for the left stripe of the embed.
How do I refresh an embed that already got posted?
Old messages keep their embed. For new posts, Discord re-scrapes once its cache expires; while testing, a ?v=2 query variant forces a fresh scrape instantly.
Paste your URL and see within two seconds whether everything is right — on every platform.