Social preview checker

Paste a URL. See the card X, LinkedIn, Facebook, Slack and Discord would actually show — and what is wrong with it. No account, no card, no extension.

Why the same link looks different on each platform

Because they read different tags, in a different order. X looks for twitter:title first and only then og:title; everyone else ignores the twitter: tags entirely and goes straight to og:, falling back to the page's <title>.

So a page with only twitter: tags looks right on X and bare everywhere else, and a page with only og: tags looks right everywhere except that X shows a small square thumbnail instead of the big image — that one is twitter:card, which has to say summary_large_image before you get the large layout.

The three that account for most broken cards

Limits, stated plainly

Generating the image, not just checking it

This tool tells you the image is missing. POST /v1/og-image is how you produce one per page without opening a design tool: give it a URL or an HTML template and it returns a 1200×630 PNG.

curl -X POST https://api.getsnap.dev/v1/og-image \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/post"}'

A free key is 100 images a month, no card. Get one, or read the walkthrough for Node and Python.

Frequently asked questions

Is this really free?

Yes. No account, no card, no email. Twenty checks an hour per visitor. Checks that fail do not count against you.

I fixed my tags and the old card still shows. Why?

Every platform caches what it scraped, usually for days. This tool reads your page live, so it will show the fix immediately while X or LinkedIn still show the old one. Both have a scraper or post inspector that forces a re-fetch.

Does it check whether my image actually loads?

Your browser does, when it renders the card below. If the image area is empty, the URL is wrong, blocked by CORS or hotlink protection, or returning an error — all three look the same to a crawler.

Why does it say my page has no tags when I can see them?

Almost always because they are added by JavaScript after the page loads. Crawlers do not run your JavaScript. View source rather than inspect element — source is what they see.

Can I check a staging site?

Only if it is reachable from the public internet. Anything behind a login, a VPN or a private address is refused.