What this checker does
When someone pastes your link into a chat, a feed or a DM, the app fetches your page once, reads a handful of meta tags in the <head> and builds a card from them. We do the same: fetch the page, pull every og: and twitter: tag, then fetch the share image itself to check it returns 200, is really an image, and what size it is. The previews above are generic mock-ups of the three layouts you’ll meet most: a large image card, a small card with a square thumbnail, and a chat-app unfurl.
The tags that matter
- og:title: the card headline. Write it for a feed, not a search result. It can differ from your
<title>. - og:description: one or two sentences. Most cards show two lines or fewer.
- og:image: an absolute
https://URL to a PNG, JPEG or WebP. SVG doesn’t work on most platforms. - og:url: the canonical URL, so shares of variants count toward one page.
- twitter:card:
summary_large_imagefor the big layout on X.
Common problems, in order of damage
- No image, or an image that fails. A broken image URL often turns a card into a bare link. Check the image loads in a private window, without cookies.
- Relative image paths.
/og.pngworks in your HTML but many preview bots won’t resolve it. Use the full URL. - One image for every page. Not an error, but a card that says what the specific page is gets more clicks than your logo does.
- Tags rendered by JavaScript. If this checker can’t see them, most preview bots can’t either.
- Declared size that doesn’t match.
og:image:widthandog:image:heighthelp apps lay out the card before downloading the image, so they must be right.
What it can’t tell you
Every platform has its own crop, font and caching rules, and they change. We don’t imitate any one app, and a platform may still show a preview you didn’t expect because it cached an older version. For the rest of the page’s tags (title, canonical, robots, JSON-LD) run the meta tag checker.