How Discord link previews work: Open Graph, oEmbed, and the embed cache
Discord generates link embeds using og:title, og:description, and og:image tags. When a user posts a URL in a Discord channel, Discord's servers fetch the page, extract the OG tags, and cache the result. The embed appears automatically with no user action needed. The image shows at up to roughly 400x210 in the embed.
How this is calculated
Discord's embed cache is aggressive and hard to bust. Once Discord fetches your OG tags, it may cache them for hours or days. Changing the tags on your server won't immediately update embeds already posted. The workaround is to append a query parameter (?v=2) to the URL, which forces Discord to re-fetch. Also, if og:image is missing or too small, Discord won't show any image in the embed. The minimum recommended size is 400x210. For best results, use a 1200x630 image and Discord will scale it down. Discord also respects og:site_name, og:video for embedded video, and theme-color for the embed's left border color.
Verdict
Discord embeds are fully OG-compatible. Use standard 1200x630 images. If you update your OG tags and need embeds to refresh, add a cache-busting query parameter. Test in a private Discord server before sharing publicly.
