Link Preview Checker: WhatsApp, Facebook, LinkedIn and X
Paste a URL to see the card each app builds from your Open Graph tags. The share image is checked for its real pixel size and file weight, and you get a fixed tag block to copy.
X
Previews are drawn from the tags to match each app's layout as closely as I can. Apps change their layouts now and then, so treat them as close, not pixel-exact.
How apps build a link preview
When you paste a link into WhatsApp, Facebook, LinkedIn or X, the app fetches the page and reads the meta tags in its <head>. It does not look at the visible page or run your JavaScript. The tags come from the Open Graph protocol that Facebook published in 2010: og:title, og:description, og:image and og:url are the four that decide almost everything. X reads its own twitter: tags first and falls back to Open Graph for anything missing.
WhatsApp works differently from the others. The preview is built by the sender's phone, not by a WhatsApp server, before the message is sent. That is why the same link can show a preview for one person and not for another.
The tags that matter
| Tag | Used for | Notes |
|---|---|---|
og:title | The bold headline | Cut after about 2 lines. Can differ from the title tag. |
og:description | The line under the title | Facebook shows about one line, WhatsApp two. |
og:image | The picture | Absolute https URL. 1200 x 630 px JPEG or PNG. |
og:image:width, og:image:height | Image size before download | Lets Facebook show the image on the very first share. |
og:url | The canonical address | Facebook groups likes and shares under it. |
og:type, og:site_name | Page type and brand | website or article, plus your site name. |
twitter:card | Card style on X | summary_large_image for a full-width image. |
Share image size
Make every share image 1200 x 630 pixels, a 1.91:1 ratio. Facebook's own guidance is at least 600 x 315 for the large card, and smaller images still appear, but as a small thumbnail. Facebook rejects images over 8 MB and X stops at 5 MB. WhatsApp's link preview documentation asks for an image under about 600 KB that is at least 300 px wide. In practice I keep share images under 300 KB, which a 1200 x 630 JPEG at normal quality easily is.
Keep text and faces in the middle of the image. Each app crops slightly differently, and anything near the edges can be cut.
Why WhatsApp shows no preview
When a link arrives in WhatsApp as plain blue text, it is almost always one of these:
- No og:image, or no Open Graph tags at all. WhatsApp then shows a text-only preview or nothing.
- The image is too heavy. Over about 600 KB, WhatsApp often drops to a small preview or skips the image.
- The page blocks the request. Bot protection such as a Cloudflare challenge, a login wall or a geo-block returns a challenge page instead of your tags.
- The tags are too far down. WhatsApp reads roughly the first 300 KB of the HTML. Pages with large inline scripts or styles before the meta tags can push them past that point.
- Relative or http image URLs.
/images/share.jpgworks in a browser but not for a crawler. Use the full https address. - An old preview is cached. WhatsApp keeps the preview it built the first time that exact link was shared.
How to refresh a cached preview
Fixing the tags does not update previews that were already built. Each app keeps its own cache:
- Facebook: paste the URL into the Sharing Debugger and click Scrape Again.
- LinkedIn: inspect the URL in the Post Inspector. It fetches the page again and refreshes LinkedIn's copy.
- WhatsApp: there is no public refresh tool. It caches per link, so share a slightly different URL, for example with
?v=2at the end, to force a fresh preview. - X: there is no longer a public validator. X fetches the card again after its cache expires, or immediately for a new URL, so the same
?v=2trick works.
What this checker reads
The checker fetches the page the way a link crawler does, follows up to five redirects, and reads the Open Graph tags, Twitter tags, title, meta description and favicon. It then requests the share image and reads only its first 64 KB, which is enough to get the real pixel size from the PNG, JPEG, WebP or GIF header and the file size from the server. It does not run JavaScript, which matches how WhatsApp, Facebook and LinkedIn read pages. If your tags are added by JavaScript after the page loads, the apps do not see them and neither does this tool.