WhatsApp Link Preview Not Working — How to Fix It
When you paste a URL into WhatsApp, it should show a rich preview: title, short description, thumbnail image. When the URL unfurl is missing or wrong, it's almost always one of a handful of predictable failures — and each one has a specific fix.
This guide walks through the WhatsApp URL unfurl process end-to-end, the six most common reasons a WhatsApp link preview fails, step-by-step troubleshooting, the advanced edge cases that trip up developers, and how to test your URL unfurl before you send.
→ Test your WhatsApp link preview with TryUnfurl
Understanding the URL Unfurl Process on WhatsApp
WhatsApp runs the same URL unfurl pipeline every modern chat app runs, with a few WhatsApp-specific details:
- You paste a URL into a chat.
- WhatsApp's servers fetch your page from their crawler IPs, with a WhatsApp-specific user-agent, server-side — not from your phone's browser.
- The HTML
<head>is parsed for Open Graph tags:og:title— bold headline in the previewog:description— short text below the titleog:image— thumbnail (minimum ~300×200 px, ideally 1200×630 px)og:url— canonical URL
- WhatsApp renders a preview card before you hit send.
- The URL unfurl result is cached per URL for ~24–72 hours.
Two WhatsApp-specific things to know:
- WhatsApp fetches the page when you paste, not when the message is read. So the preview reflects the state of your page at the moment of pasting.
- WhatsApp does not execute JavaScript. Every Open Graph tag must be in the server-rendered HTML.
Why URL Unfurl Fails in WhatsApp
1. Missing or empty og: tags
WhatsApp requires og:title and og:image at minimum. If either is missing, you'll get no preview.
2. og:image is too small or inaccessible
WhatsApp needs an image of at least 300×200 px. Images smaller than this are silently ignored. The URL must also be publicly accessible — no auth, no redirects that require cookies.
3. Page is behind a login or bot-blocking middleware
If your server returns 401 / 403 to WhatsApp's crawler, or the page requires JavaScript to render, WhatsApp's bot can't read the tags. WhatsApp doesn't execute JavaScript — it only reads the raw HTML returned from the server.
4. Cached URL unfurl is outdated
WhatsApp caches previews for days. Even after you fix your tags, old shares in existing chats may still show the old preview. New shares of the fixed URL will show the updated preview once the cache expires (~24–72 hours).
5. Image URL uses HTTP not HTTPS
WhatsApp requires HTTPS image URLs. HTTP images are blocked on modern messaging platforms.
6. Server returns wrong Content-Type
If your page is served with Content-Type: application/json or another non-HTML type, WhatsApp won't parse it for meta tags.
How to Fix WhatsApp Link Preview
- Add or fix your Open Graph tags in the
<head>of your HTML:
<meta property="og:title" content="Your Page Title" />
<meta property="og:description" content="A short description, ideally under 100 characters." />
<meta property="og:image" content="https://example.com/preview.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://example.com/your-page" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Your Site Name" />
Verify the image is publicly accessible — open the image URL in a private/incognito browser window. If it loads there, WhatsApp can fetch it.
Ensure the page is server-rendered — if you're using a JavaScript framework (React, Vue, Next.js), confirm the og: tags are in the initial HTML response:
curl -sL https://example.com/your-page | grep -iE '<meta property="og:'
If the tags don't appear, they're being injected client-side and WhatsApp can't read them.
Test your URL unfurl with TryUnfurl — paste your URL at TryUnfurl to see the detected Open Graph tags and a rendered preview before you send in WhatsApp.
Test the preview in a new chat — the preview generates fresh each time you paste into a new chat. After fixing your tags, paste into a new conversation to confirm the WhatsApp URL unfurl is correct.
Wait out the cache on existing shares — WhatsApp does not expose a public cache-clearing API; cached URL unfurls expire naturally after a few days.
Testing Your URL Unfurl for WhatsApp
You don't need to send a test message to yourself every time. TryUnfurl fetches the page live, shows the exact Open Graph tags WhatsApp will read, and renders a WhatsApp-style preview card — no send button required.
It also surfaces the card for every other major platform (Facebook, LinkedIn, X, Slack, Discord, iMessage, Teams, Telegram) in the same view, so you can catch cross-platform inconsistencies in one pass.
For launches with multiple URLs — a campaign, a content migration, a monthly evergreen sweep — the bulk URL unfurl checker runs up to 100 URLs and exports the results as CSV.
Advanced WhatsApp Unfurl Troubleshooting
Once the basics are right, these are the edge cases that trip teams up:
- WhatsApp Web vs mobile client cache. Separate caches; the same URL may show the new preview on web and the old one on mobile for a short window. Paste into a brand-new chat on the affected device.
- Carrier-level DNS or filtering. Some mobile carriers proxy or strip embedded metadata. If previews fail for a specific user on mobile data but work on Wi-Fi, carrier filtering is suspect.
- Signed URLs on
og:image. If your image URL is a signed CDN link that expires, the cached copy may break a few hours later. Use permanent image URLs in OG tags. - Blocked user-agents. WAFs sometimes block WhatsApp's crawler. Check server logs for 403s/429s from WhatsApp user-agents and allowlist them.
- Redirect chains. Keep redirects to 1–2 hops; too many cause the WhatsApp unfurl bot to give up.
- CDN cache serving stale HTML. If TryUnfurl shows your new tags but WhatsApp still shows old ones, purge your CDN (Cloudflare, Fastly, CloudFront) before retesting.
- Business-verified domains. If you're using WhatsApp Business, verified domains may have slightly different preview behaviour; confirm with the Meta Business support docs for your region.
Frequently Asked Questions
Why does my WhatsApp link preview show the correct image on web but not mobile?
WhatsApp Web and the mobile app sometimes cache separately. The URL unfurl is generated server-side and cached, so both clients should eventually show the same result. If mobile shows a stale preview, it will refresh the next time the link is pasted in a new chat.
Can I force WhatsApp to refresh a URL unfurl?
There is no public tool to clear WhatsApp's cache for a specific URL. The cache typically expires within 24–72 hours. For immediate testing, paste the URL into a new chat — WhatsApp fetches fresh metadata each time you paste.
Does WhatsApp support Twitter Card tags?
No. WhatsApp only reads Open Graph (og:) tags, not Twitter Card (twitter:) tags. Make sure your og: tags are correct; the twitter: tags are irrelevant for WhatsApp.
Why does my preview show on desktop WhatsApp but not mobile?
This can happen if the image is very large (over 5 MB) and mobile data is throttled, or if the mobile app version is older. Use images under 1 MB at 1200×630 px to avoid this.
Do WhatsApp Business links work the same way?
Yes. WhatsApp Business reads the same Open Graph tags. The URL unfurl behaviour is identical across personal and business accounts.
How do I test WhatsApp URL unfurl without sending a message?
Paste your URL into TryUnfurl — it renders a WhatsApp-style preview from the same Open Graph tags WhatsApp reads, without requiring a send.
How long does WhatsApp cache a link preview?
Typically 24–72 hours. New shares of the URL in new chats fetch fresh metadata, so the fix is usually "wait, or re-share in a new chat after updating tags."
Check Your WhatsApp Preview
TryUnfurl shows you exactly what WhatsApp will see: the title, description, image URL, detected image dimensions, and any missing or malformed Open Graph tags. Paste your URL and switch to the WhatsApp tab for a live preview of how it will render.
→ Test your WhatsApp URL unfurl now · → Bulk-check up to 100 URLs