Skip to main content
SEO / Web
Published 8 min read

How to Fix an OG Image Not Showing

A step-by-step way to find out why your link preview has no image, the wrong image, or an old one.

The card appears, the headline is right, and the picture is missing, wrong, or from last year's design. Almost every case falls into a short list of causes. Work through them in order, because the first few are quick to rule out.

1. Is the tag in the HTML the server delivers?

Open the page's source (view-source, not the Elements panel) and search for og:image. If it is missing, platforms never saw it. Common reasons are a theme or plugin that is switched off, a template that only outputs the tag for some page types, or a single-page application that adds tags in the browser. Crawlers that do not execute JavaScript will not see tags added that way.

2. Is the URL absolute and correct?

  • Start with https:// and include the host name. Relative paths such as /images/card.png are unreliable.
  • Check for typos, doubled slashes, and unrendered template variables like {{image}} or %image%.
  • Make sure the URL still exists after your last deployment. A build step that renames or removes files is a common culprit.

3. Can a crawler actually download it?

Open the image URL in a private window. Then think about what is different for a crawler: no cookies, no Referer, an automated user agent. Hotlink protection, a firewall or bot-protection rule, a login requirement, or a geographic block can all return a 401 or 403 to a crawler while showing the image to you.

The Image analysis section of the Open Graph & Social Preview Analyzer downloads each social image from the server and reports the HTTP status, content type, redirects, dimensions and size. A 403 there is a strong hint, though a platform's own crawler may still be treated differently from the analyzer, so treat it as a lead rather than a verdict.

4. Is it really an image, served as one?

Some servers answer an image URL with an HTML error page and a 200 status, or send a generic Content-Type such as text/html or application/octet-stream. Crawlers that rely on the header may reject the file. Serve the image with the right image/* type.

5. Is the format supported?

PNG and JPEG are the safest choices. GIF generally shows a still frame. WebP is widely supported now, but AVIF, HEIC, SVG, BMP and ICO files are not reliably supported for link previews across platforms. If your image is in one of those formats, add a PNG or JPEG version for og:image.

6. Is it too small, too large, or oddly shaped?

Platforms publish different minimums and maximums and change them over time. Very small images may be ignored, very large files may be skipped, and extreme aspect ratios get cropped heavily. See what size an Open Graph image should be for sensible targets.

7. Does the URL redirect?

An image URL that redirects once is usually fine. A long chain, or a redirect through a login or consent page, can make a crawler give up. Point the tag at the final URL. The Redirect Chain Analyzer helps when you are unsure where an image URL ends up.

8. Is the platform showing a cached copy?

If everything above checks out and the preview is still old, the platform is probably showing what it stored earlier. Platforms cache link metadata and images, and each decides when to refresh. Changing the image's file name forces a new URL, and most platforms offer a debugging or re-scrape tool. See Why is my link preview not showing correctly? for how to approach caching.

Use a new file name when you replace an image

Replacing a file at the same URL leaves caches holding the old picture. Versioned names such as card-2026-10.png avoid that problem entirely.

Quick checklist

  1. og:image exists in the delivered HTML.
  2. The URL is absolute, https and correct.
  3. It returns 200 with an image/* Content-Type and no login.
  4. The file is PNG or JPEG, reasonably sized and not extremely wide or tall.
  5. It does not pass through a long redirect chain.
  6. You have allowed for platform caching, and re-scraped if the platform offers it.

Frequently asked questions

Why is my og:image not showing on Facebook, LinkedIn or X?
Usually the image URL is missing, relative, blocked to crawlers, redirected, too small, in an unsupported format, or the platform is still showing a cached copy. Work through the checklist in this article, starting with whether the tag is in the HTML your server delivers.
Why does the image show in my browser but not in the preview?
A browser sends cookies and a Referer from your own site, while a crawler does not. Hotlink protection, login requirements, bot protection or geo rules can serve the image to you and refuse it to a crawler.
I fixed the image but the preview did not change. Why?
Platforms cache link metadata and images. Until the cache refreshes, the old preview can persist. A new file name for the image and the platform's own re-scrape option usually help, but timing is up to each platform.
Does the image have to be 1200 by 630?
No single size is required everywhere. 1200 by 630 pixels (about 1.91:1) suits most large-image cards, but acceptable images vary by platform.

The tool that pairs with this guide.

Did this help you untangle your redirects?

If these free developer tools save you time, consider buying me a byte. Your support helps keep DevCraftKit free and growing.

Buy me a byte 💾