How WhatsApp builds a link preview
WhatsApp's link previews are generated when the link is sent: the app fetches the page, reads its Open Graph tags and attaches a card to the message. WhatsApp keeps it simple, and strict:
- Title from
og:title, or the page's<title>. - Description from
og:description, or the meta description, cut after one or two lines (about 100 characters). - Image from
og:imageonly. WhatsApp doesn't usetwitter:imageor favicons as a fallback. - Domain under the text.
A wide image shows as a large picture above the text. A small or square image shows as a thumbnail on the left. The text in the card is unchanged either way.
WhatsApp og:image requirements
WhatsApp is the strictest of all platforms about images, and the one where previews fail most often. According to Meta's WhatsApp documentation, og:image should be:
- Under 600 KB. In practice, many site owners only get an image when the file is under about 300 KB, so aim for that.
- At least 300 px wide, with an aspect ratio of 4:1 or less.
- JPG or PNG. WebP support differs between app versions, and SVG never works.
A 1200×630 JPG saved at 80–85% quality is usually 100–250 KB and works everywhere. The checker downloads your image and shows its real file size, not just what the HTML claims.
Why the WhatsApp link preview isn't working
The image is too heavy
The most common reason by far. The card appears with title and description but no picture. Compress the image, or create a separate lightweight version just for og:image.
The page blocks WhatsApp's fetcher
WhatsApp identifies itself with a User-Agent such as WhatsApp/2.x. Firewalls that only allow known browsers can reject it. The checker requests your page as WhatsApp and highlights any difference from a regular browser.
The tags are rendered in the browser
Like every preview bot, WhatsApp doesn't run JavaScript. If your app adds tags on the client, WhatsApp sees none.
The server is slow or redirects a lot
WhatsApp waits only briefly. A slow first response, or a chain of redirects (http to https to www to a language folder), can make it give up.
An old preview is cached
Meta caches what it scraped, and so does each phone. A fixed page can keep showing the old card for a while.
How to refresh a WhatsApp link preview
- Fix the tags and re-check here with Re-check.
- Open the Facebook Sharing Debugger, paste the URL and click Scrape Again. WhatsApp shares Meta's crawler cache.
- Share the link in a chat where you haven't sent it before. Phones also cache previews per link.
- For a quick test, add a parameter such as
?v=2so the link counts as new.