Home/ Guides/ iMessage link preview not showing
Guide · Open Graph
iMessage link preview not showing?
Paste a link into Messages and you expect a tidy card — image, title, domain. When you get a bare blue URL instead, it's almost always one of four things. iMessage builds that card on your device from your og: tags, which makes it behave unlike Slack or Facebook. Here's what's happening and how to fix it.
The short answer
iMessage reads standard og: tags and fetches them from the sender's device — so the page and its og:image must be publicly reachable over HTTPS, and there's no debugger to lean on.
The defining quirk: unlike Facebook, LinkedIn or Slack — which fetch your page from a central bot — iMessage's rich link is built by Apple's LinkPresentation framework on the sending Mac or iPhone. If that device can't reach the URL, or the tags aren't there when it looks, you get a plain link.
Want a card that unfurls cleanly in Messages without hand-tuning tags? Every slsh.me short link ships proper og: tags and a public 1200×630 image that LinkPresentation reads on the first try — set it once, free.
Why iMessage behaves differently.
Same Open Graph tags, a very different reader. These are the iMessage-specific behaviors that catch people out.
| Behavior | iMessage | Facebook / LinkedIn / Slack |
|---|---|---|
| Who fetches | The sender's device (LinkPresentation) | A central server bot |
| Tags read | og:title, og:image, og:url | Same core og: tags |
| Fallback | Page <title> + apple-touch-icon / favicon | Usually text-only if og:image missing |
| Debugger | None — Apple ships no inspector | FB Sharing Debugger / Post Inspector |
| Cache | Per-device; clear by changing the URL | Server cache; clear via the debugger |
| Reachability | Depends on that device's network (VPN, Wi-Fi) | Depends on the platform's servers |
Why the preview doesn't show.
Five causes, most to least common — each with the one-line fix.
No reachable og:image
If the page has no og:image, or the image URL is relative, behind a login, or on a host the device can't reach, Messages drops the picture and often falls back to a bare title or just the domain.
Fix: set an absolute https:// og:image (1200×630) served publicly, no auth wall.
The site blocks the on-device fetch
LinkPresentation fetches your page like a lightweight browser. A firewall rule, bot filter, or aggressive rate limiter that rejects non-standard clients can make the fetch fail silently — no card.
Fix: allow the fetch to complete; don't block unknown user agents on the page you're sharing.
You sent tapable text, not a plain URL
Messages only builds a rich link from a bare URL it can see in the message. A hyperlink hidden behind words, or a URL wrapped in other punctuation, often stays a plain tap-target with no card.
Fix: paste the raw https://… URL on its own and let Messages unfurl it before you send.
A stale per-device cache
You fixed the tags, but the same iPhone or Mac keeps showing the old card — because it cached the preview and never re-fetches the same URL.
Fix: append a harmless query string (?v=2) so it's treated as a new URL and re-fetched.
Not HTTPS, or the device is offline
An http:// link, a captive-portal Wi-Fi, or a VPN that can't route to the host all stop the fetch. Because it runs on your device, the network you're on decides whether the card appears.
Fix: serve over HTTPS and confirm the sending device can open the URL in Safari.
Force a fresh preview.
There's no debugger and no refresh button, so this is the reliable path when a stale card won't budge.
Confirm the tags are actually live
Before blaming the cache, check that the page really serves og:title and an absolute og:image — a quick audit (below) shows exactly what a fetcher sees.
Change the URL to dodge the cache
Add a throwaway query string — https://example.com/page?v=2. Messages sees a new URL, re-fetches, and builds the card from your current tags.
Type it into a fresh conversation and wait
Paste the URL, give it a second to unfurl into a card in the compose field, then send. If it never unfurls on a device that can open the link in Safari, the problem is in your tags — not the cache.
Check it before you send.
Apple gives you no inspector for iMessage, so the only way to know what LinkPresentation will read is to fetch the page yourself and look at the tags. Rather than send yourself test links all afternoon, check the page once and see the card the way every platform renders it.
The free slsh.me Open Graph checker fetches your page, reads its tags, and renders the real card on iMessage, X, Facebook, LinkedIn, Slack, Discord and WhatsApp — with a best-practices audit that flags a missing or unreachable og:image before Messages ever swallows it.
Or skip hand-tuning tags entirely: shorten your link on slsh.me and design its card in seconds — free.
Questions
Why is my link not showing a preview in iMessage? +
og:image, a site that blocks the on-device fetch, a link sent as tapable text instead of a plain URL, or a stale per-device cache. Messages builds the card on the sender's device, so the page and its image must be publicly reachable over HTTPS at the moment you send.Does iMessage use Open Graph tags? +
og:title, og:image and og:url tags. When they're missing it falls back to the page's <title> and its apple-touch-icon or favicon — which is why some links show only a small icon and a domain instead of a full card.How do I force iMessage to refresh a link preview? +
?v=2 — which forces a fresh fetch of your updated tags.Why does the preview work on my Mac but not my iPhone? +
One link, a right card in every thread.
Shorten any URL with slsh.me and design its Open Graph card — title, description, image — once. It unfurls cleanly in iMessage, Slack, X and the rest, and you get live click analytics for free.
Create a link with slsh.meFree forever · see pricing