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.

Updated July 2, 2026 · by slsh.me

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.

Reads og:title / og:image / og:url Falls back to <title> + apple-touch-icon Fetched by your device Debugger none Refresh change the URL (?v=2)

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 fetchesThe sender's device (LinkPresentation)A central server bot
Tags readog:title, og:image, og:urlSame core og: tags
FallbackPage <title> + apple-touch-icon / faviconUsually text-only if og:image missing
DebuggerNone — Apple ships no inspectorFB Sharing Debugger / Post Inspector
CachePer-device; clear by changing the URLServer cache; clear via the debugger
ReachabilityDepends 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.

Check your link on the free Open Graph checker

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? +
Usually a missing or unreachable 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? +
Yes. Apple's LinkPresentation framework reads the standard 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? +
iMessage has no debugger or refresh button, and it caches previews per device. The reliable trick is to change the URL so Messages treats it as new — append a harmless query string like ?v=2 — which forces a fresh fetch of your updated tags.
Why does the preview work on my Mac but not my iPhone? +
Because the preview is fetched and cached on the sending device, not on a central server. A device on a VPN, a captive-portal Wi-Fi, or a flaky connection can fail to fetch the page, and each device keeps its own cache — so the same link can look different depending on where you send it from.

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.me

Free forever · see pricing