Discord embed small image

Last updated October 30, 2026 · Reviewed by Sumera Yaqoob

Discord builds rich link embeds from your page’s Open Graph tags. When the embed shows a tiny thumbnail—or no image—the cause is usually image dimensions, aspect ratio, reachability, or cache. This guide is Discord troubleshooting. For pixel tables alone, use the Discord embed image size page.

What Discord needs for a large embed

In the raw HTML:

<meta property="og:title" content="Readable title" />
<meta property="og:description" content="Short supporting text." />
<meta property="og:image" content="https://example.com/og/wide.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />

Prefer a landscape ~1200×630 asset. Small logos and square icons commonly render as small thumbnails even when the fetch succeeds.

Step 1: Verify tags and image

  1. View Source → one absolute og:image.
  2. Open the image logged out.
  3. Run the Link Preview Checker.
  4. Confirm dimensions with the Social Image Checker.

Create a wide card in the OG Image Generator if you need readable type at embed size. Compare weak vs strong layouts on OG image examples.

Step 2: Size and format

Prefer Avoid
~1200×630 PNG/JPG 200×200 logos as the only OG image
Absolute https URL Relative /img/og.png
Stable public CDN Auth-walled media

See also OG image size and file formats.

Step 3: Bust Discord’s cache

Discord remembers previous embeds for a URL. After you fix the site:

  1. Change the image file name or append ?v=2 to the shared page URL.
  2. Paste into a test channel as a new message.
  3. Do not assume editing an old bot message rewrites the embed.

Step 4: Crawler access

If the guild’s Discord clients can load your site in a browser but embeds fail, check whether bots are blocked on the HTML or image host. Anonymous GET must succeed for both.

Common mistakes

  • Using the site favicon as og:image
  • Multiple conflicting og:image tags from theme + plugin
  • Testing only on a staging host nobody shares
  • Expecting Discord to re-fetch instantly after overwriting the same path

Checklist

  • Absolute landscape og:image ~1200×630
  • View Source + Link Preview Checker clean
  • Fresh URL or asset path after fixes
  • Image fetchable without login

Slack unfurls fail for similar reasons—see Slack link unfurl not showing. Broader failures: og:image not showing.

Designing for Discord’s embed surface

Discord embeds sit beside channel conversation, often on dark themes. Transparent PNGs without a background can vanish against dark gray. Prefer a solid or branded background behind type. Avoid packing dense UI screenshots; at embed width, menus become noise.

Bot-posted messages and user-pasted links can behave differently depending on permissions and whether embeds are suppressed in a channel. When QA fails in production but works in a private test server, check channel settings and whether a link-expanding bot is rewriting the message.

Coordinate with your marketing calendar: if you change a homepage OG image the morning of a campaign, Discord may still show yesterday’s embed in pins and old threads. Publish a versioned URL in the campaign brief so every team pastes the same fresh string.

Field notes from real share failures

Most broken previews are boring: a relative URL, a duplicate plugin tag, a cache that nobody re-scraped, or a file that is fine in Chrome but too heavy for a messenger. Resist the urge to rewrite the entire brand system until those basics are proven in View Source and a private window.

Write down the exact URL string you tested, including trailing slash and query parameters. Support threads go sideways when one person scrapes example.com/page and another shares example.com/page/. Treat the share string as part of the specification.

When you finally change artwork, change the path. Overwriting og.png in place is the most common reason a “fixed” card never appears. Pair the new file with a short note in your changelog so the next person knows which version is live.

Verification habits worth repeating

After every deploy that touches templates or SEO plugins, spot-check three URLs: the homepage, one article or product, and one utility page. Look for a single absolute og:image and open that file logged out. This ten-minute habit catches more regressions than redesigning share cards.

Document the owner of social tags for your stack—theme, plugin, or layout component—in the repository README. When something breaks, people should know which lever to pull first. Ambiguous ownership is how duplicate tags accumulate.

Finally, separate “works in our browser” from “works for crawlers.” If you only validate inside an authenticated preview session, you will ship failures to Facebook, LinkedIn, Slack, Discord, WhatsApp, and X without noticing until a campaign is live.

If you only remember one rule, remember this: crawlers are blunt. They fetch a URL, read tags, fetch an image, and cache aggressively. Your CMS preview, authenticated browser session, and hydrated React tree are not part of that path. Design the HTML and the image file for the crawler first, and human polish second. That ordering keeps share cards reliable while you iterate on the visible page design. Keep campaign links versioned, retest in a private server, and treat Discord cache as hostile until proven otherwise. Large landscape art with a solid background wins more often than clever transparent logos. When you redesign brand assets, re-export the Discord share crop at the same time you update OG files for Facebook and LinkedIn. One forgotten transparent PNG is enough to shrink an otherwise correct embed. Pair every creative refresh with a Discord paste test so marketing and engineering catch regressions before a launch thread goes live.

Treat Discord as a first-class share surface in QA, not an afterthought after Facebook Sharing Debugger passes. Paste the same URL in a private channel, wait for the large embed, and only then ship the creative change to production marketing links.

Frequently asked questions

Short answers from this guide.

Why is my Discord link embed image so small?

Discord often shows a large embed only when the Open Graph image is large enough and roughly landscape. Tiny squares become small thumbnails.

What size should I use for Discord link previews?

Use about 1200×630 as the safe Open Graph default. See the Discord size page on this site for notes—avoid relying on sub-400px images.

How do I refresh a Discord embed?

Discord caches aggressively. After fixing tags, share a new URL variant (?v=2) or a new image path. Editing an old message may not rebuild the embed.

Do I need twitter:card for Discord?

Discord primarily uses Open Graph. Focus on og:title, og:description, and og:image. Twitter tags are optional for Discord.

Can a bot or firewall cause small or missing embeds?

Yes. If Discord’s crawler cannot fetch the image, the embed may omit it or look broken. Allow anonymous access to the HTML and media.

Related pages