Discord Link Preview Meta Tags — How to Control the Embed
Table of Contents
When you paste a URL into Discord, the app fetches the page and builds an embedded card showing the title, description, image, and domain. This embed is driven entirely by Open Graph meta tags. If your OG tags are missing or wrong, Discord shows a blank embed, no image, or garbled text — which looks unprofessional in any Discord server.
This guide covers exactly which tags Discord reads, what's different about Discord vs Facebook, and how to generate and test your Discord-ready meta tags in under five minutes.
What Tags Discord Reads From Your Page
Discord reads the following tags when building a link embed:
- og:title — Shown as the embed title in bold. Truncated at approximately 256 characters, but keep it under 80 for clean display in most contexts.
- og:description — Shown below the title in smaller text. Discord shows roughly 2–3 lines (200–300 characters) before truncating.
- og:image — The embed image. Discord shows wide-format images (wider than tall) as large inline images. Portrait or square images appear as smaller thumbnails. Recommended: 1200x630 JPEG or PNG over HTTPS.
- og:url — The URL shown in the embed's "link" click target. Should match your canonical URL.
- og:site_name — Shown above the title in small gray text as the source name. This is your brand name.
- theme-color — The
<meta name="theme-color" content="#hexcolor">tag controls the accent color on the left border of Discord embeds. Discord uses this for visual branding.
Discord does NOT read twitter:card, twitter:title, or other Twitter-specific tags. It uses OG tags exclusively.
Discord-Specific Behaviors to Know
Discord's embed rendering has some quirks that differ from Facebook and LinkedIn:
- Image aspect ratio controls layout: Discord uses the og:image dimensions to decide whether to show a large embed or a small thumbnail. Images wider than 400px and with a wider-than-tall ratio get shown as large embeds. Images at 1200x630 always trigger large embeds.
- Videos: Discord supports embedded video if you include an og:video tag with a direct link to an MP4 file (not a YouTube or streaming URL). Discord will play the video inline in the embed. This is unusual — most platforms don't render og:video.
- Animated GIFs: Unlike Facebook which shows only the first frame, Discord plays animated GIFs in embeds. If you have an animated brand GIF, Discord will show the animation.
- Caching: Discord caches embeds per-message. Once a URL is embedded in a message, updating your OG tags won't change that specific message. New pastes of the URL will show updated embeds. Discord's cache duration is typically several hours.
- HTTPS required: Discord will not load HTTP image URLs. All og:image values must use HTTPS.
Why Discord Shows a Blank or Missing Embed
The most common reasons a Discord embed shows nothing or shows wrong content:
- OG tags are JavaScript-rendered: Discord does not execute JavaScript when fetching page metadata. If your og:title and og:image are injected via React, Vue, or another client-side framework, Discord sees the empty shell. Use server-side rendering or pre-rendered HTML.
- Missing og:title: Without og:title, Discord may show the page's HTML title tag as a fallback, or show nothing if both are missing.
- HTTP image URL: The embed will show without an image. Discord fetches images over HTTPS only.
- og:image not publicly accessible: If the image is behind authentication, a private CDN, or has IP-based access controls, Discord's servers can't fetch it. The image must be publicly available.
- Embed suppressed by user: Users can right-click a link in Discord and disable its embed. If someone says "the embed isn't showing," check if they've suppressed it manually (the embed can be re-enabled by clicking the eye icon).
The theme-color Tag — Discord's Accent Color
Discord uses the HTML meta theme-color tag to set the left border accent on your link embed. This is one of the few cases where theme-color has visible, meaningful impact:
<meta name="theme-color" content="#5865F2">
This single tag makes every Discord embed from your site appear with a colored accent bar on the left side — your brand color, not Discord's default gray. If you've seen embeds from Twitch, GitHub, or YouTube appear in Discord with their brand colors, this is how they do it.
Choose any hex color that matches your brand. The color should be distinctive enough to stand out in Discord's dark-themed interface. Avoid very light colors (they're nearly invisible against Discord's gray embeds) and avoid Discord's own blurple (#5865F2) unless you're Discord-branded content.
Add the theme-color tag to your HTML head element globally — it affects every page on your site, and that's intentional. Brand consistency across all Discord embeds is the goal.
Generate and Test Your Discord Meta Tags
Use the Meta Tag Generator to generate your og:title, og:description, og:image, og:url, og:site_name, and og:type tags. The generator outputs ready-to-paste HTML. Add the theme-color tag manually:
<meta name="theme-color" content="#your-brand-hex">
To verify before pasting in Discord:
- Paste your page's full HTML source into the Open Graph Checker
- Check that og:title, og:description, and og:image are all showing as "found" with the correct values
- Verify the Facebook preview card shows the image correctly — Discord uses similar rendering to Facebook for image sizing
After adding tags to your live page, paste the URL in a Discord DM to yourself as a quick sanity check before announcing it in a server. Remember that Discord caches per-message, so each new paste shows the freshest embed version.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free Meta Tag GeneratorFrequently Asked Questions
Why does Discord not show an image for my link?
Most commonly: your og:image URL uses HTTP instead of HTTPS, or the image is not publicly accessible. Other causes: your OG tags are rendered by JavaScript (Discord doesn't execute JS), the image dimensions are too small (under 400px wide), or og:image is missing entirely. Check using the Open Graph Checker by pasting your page source.
Can I force Discord to refresh a link embed?
Not for existing messages. Discord caches embeds per-message and there is no user-level cache refresh for individual embeds. If you need the embed to update, delete the message and re-paste the URL. For new shares, Discord fetches fresh metadata each time. Discord's server-side cache typically expires after a few hours.
Does Discord support rich embeds beyond OG tags?
For regular websites, yes only through OG tags. Discord bots can send custom embed objects with fields, footers, author info, and other rich formatting using the Discord API — but this is only possible for bots, not regular link sharing. When a user pastes a URL in chat, Discord is limited to OG tag data.

