iMessage link preview not working or showing a gray bubble
Messages fetches the page itself and doesn’t run JavaScript. Without og:image and a good icon you get the plain gray bubble with only a title.
Last updated
Quick fix
Check the page with the meta tag checker.
Add og:image at least 900 px wide and an og:title without your brand name.
Provide a square icon of at least 108 px, such as an apple-touch-icon.
Send the link again with a query string to see the new preview.
Why the iMessage preview is plain or missing
There’s no
og:image. By default Messages shows a gray bubble with the title, domain and a small icon.The tags are added by JavaScript. Link previews don’t run JavaScript, so metadata must be in the HTML.
The page uses a meta refresh redirect. Messages doesn’t follow meta redirects. Server-side redirects work.
The page is too big. The main page is limited to 1 MB, and icons, images and video together to 10 MB.
Mobile and desktop get different HTML. Apple asks for the same metadata for both.
How to fix it
Read the tags with the meta tag checker.
Add
og:imagewith an image at least 900 px wide. Keep text out of it, because it can show at small sizes.Add a square icon of at least 108 px. Messages uses an apple-touch-icon, a favicon or a
<link rel>icon. Test it with the favicon checker.Set
og:titleto the page title without the site name, and put the brand inog:site_name.Replace any meta refresh with a server redirect.
Tags Messages reads
og:titlefor the captionog:imagefor the pictureog:site_namefor the brandog:videoortwitter:player:streampointing at a video file for inline playbackAn icon from
apple-touch-iconor the favicon
Image size rules
Images at least 900 px wide
Images under 150 px wide may be ignored or shown as an icon
Icons square, at least 108 px per side
Page HTML up to 1 MB; all images, icons and video up to 10 MB
Apple calls these guidelines and says limits may change.
How to force a refresh
Messages has no refresh tool. Send the URL with a query string, such as ?v=2. Not verified: Apple doesn’t publish how long a preview stays cached. The refresh tool covers the other apps too.
Sources
FAQ
Why does iMessage only show a gray link bubble?
The page has no usable og:image, so Messages falls back to the title, domain and icon. Add an image at least 900 px wide.
Does iMessage run JavaScript to build previews?
No. Apple says link previews don’t run JavaScript or follow meta redirects. The tags must be in the HTML.
What icon size does iMessage use?
Apple asks for a square icon of at least 108 px per side, such as an apple-touch-icon.
Check your page, then refresh the preview
Paste your URL into the free checker to see the exact tags each app reads. Once the tags are right, use the refresh tool to clear the old preview.
Related guides
WhatsApp link preview not working or not showing
WhatsApp has strict limits: the head must sit in the first 300 KB of HTML and the image must be under 600 KB. Miss one and you get a small preview or none.
Slack link preview not working or not updating
Slack unfurls links with a bot that reads oEmbed, Open Graph and Twitter Card tags. Results are cached across Slack for about 30 minutes.
X (Twitter) card not showing or not updating
X builds the card from twitter: tags, falling back to og: tags. There is no longer a validator that refreshes the cache, so the fix is good tags plus a fresh URL.