OG image checker
Check a page’s Open Graph and Twitter card tags, see the real preview image, and find out why a link shares without a picture.
- Image address
- -
- og:title
- not set
- og:description
- not set
- og:image
- not set
- og:url
- not set
- og:type
- not set
- og:image:width
- not set
- og:image:height
- not set
- og:image:alt
- not set
- twitter:card
- not set
- twitter:image
- not set
X’s own card documentation is not publicly readable, so the limits marked above are the figures widely reported elsewhere rather than something we could verify at the source. Treat them as guidance, not as a specification.
The required tags come from the Open Graph protocol; the pixel and file-size rules come from Facebook’s published guidance.
This tool needs a server. A browser is not allowed to read another site’s markup, so ours fetches the page, reads only its <head>, and reports back. The image is fetched by our server too, so your browser never contacts the site you are checking. The address you enter is sent to our server; nothing about the check is stored.
What this does
Enter a page address and this fetches it, reads its Open Graph and card tags, downloads the image they point at, and shows you the picture alongside a verdict on each rule. It is the check to run before you post a link somewhere public, rather than after it has already shared badly.
The image you see here is fetched by our server and sent back with the results, so looking at a preview never makes your browser contact the site being checked.
The tags a preview needs
The Open Graph protocol lists four properties as required:
<meta property="og:title" content="The headline of the page">
<meta property="og:type" content="article">
<meta property="og:url" content="https://example.com/the-page">
<meta property="og:image" content="https://example.com/card.png">
<meta property="og:description" content="One or two sentences.">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="What the image shows">
<meta name="twitter:card" content="summary_large_image">
og:description is not in the protocol’s required four but a card without it
has no text under the headline. og:image:width and og:image:height are worth
setting because Facebook uses them to lay the card out without downloading the
image first — the reason a freshly shared link sometimes appears with a blank
space where the picture belongs.
Image rules, and where they come from
Facebook publishes concrete numbers:
| Rule | Value |
|---|---|
| Minimum | 200 × 200 px — below this no preview image is shown |
| Large card floor | 600 × 315 px, below which you get a small thumbnail |
| Recommended | 1200 × 630 px, for high-resolution displays |
| Aspect ratio | As close to 1.91:1 as possible, or the image is cropped |
| Maximum file size | 8 MB |
X’s own card documentation is not currently readable without an account, so
this tool checks X’s tags normally — twitter:card and friends — but presents
the widely quoted size limits (minimum 300 × 157, maximum 4096 px, under 5 MB)
as advisory only, clearly marked. We would rather say we could not verify a
number than present a figure we cannot source.
Why a link shares without a picture
- The URL is relative.
og:image="/card.png"works in a browser and fails with the scrapers, which need an absolutehttps://address. This is the most common single fault. robots.txtblocks the image. The scraper obeys it, so the card comes out blank however correct everything else is.- It is an SVG. Valid markup, and none of the major platforms render it as a card image. Use PNG, JPEG or WebP.
- The image 404s. Often a staging URL that never got updated for production.
- It is too big. Over 8 MB Facebook will not take it at all.
- The declared size is wrong.
og:image:widthsaying 1200 when the file is 600 makes the first render lay out incorrectly. - The platform has it cached. All of them cache aggressively, so a fixed image may still share with the old one. Facebook’s Sharing Debugger and LinkedIn’s Post Inspector both have a re-scrape button; X clears on its own schedule.
That last one is worth stressing: this tool tells you what your page says right now. It cannot tell you what a platform cached last week.
og: versus twitter:
X falls back to the Open Graph tags when the twitter: ones are absent, so you
rarely need both sets. The one that genuinely matters is twitter:card — without
summary_large_image you get the small square thumbnail rather than the wide
card, whatever size your image is.
LinkedIn, Slack, Discord, WhatsApp and iMessage all read Open Graph. Getting the
og: tags right covers nearly everything.
What is sent to our server
The address you enter. Our server fetches that page, reads only its <head>,
then fetches robots.txt and the image the tags name. Nothing about the check is
stored, and the page’s markup is never returned to your browser — only the named
tag values and the verdicts.
Addresses that point inside a private network are refused rather than fetched, including any that a redirect leads to.