Check if it’s iMessage or SMS
Link previews only work in iMessage (blue bubble) conversations. SMS/MMS (green bubble) does not support them. If the recipient is on Android or iMessage is unavailable, no preview will appear. This is a protocol limitation.
Low Quality Image Mode
Settings > Messages > Low Quality Image Mode disables link preview generation to save data. If a user reports that no links ever preview, check this first.
Low Data Mode
Low Data Mode (Settings > Cellular > Cellular Data Options, or per Wi-Fi network) restricts background data. When active, iMessage may skip preview fetching entirely. Affects all links, not specific URLs.
Sender not in contacts
iMessage can filter messages from unknown senders. Filtered messages may suppress link previews or only show them after the recipient taps to load the conversation.
HTTP instead of HTTPS
iMessage requires HTTPS. Plain HTTP URLs won’t generate previews due to App Transport Security:
<!-- Won't generate a preview -->
http://example.com/page
<!-- Will generate a preview -->
https://example.com/page
Server-side rendering required
The preview fetcher does not execute JavaScript. If your OG tags are rendered client-side (React, Vue, Angular), iMessage won’t see them. You need SSR or pre-rendering.
Verify tags are in the raw HTML:
curl -s https://example.com/your-page | grep -i "og:title"Diagnosis checklist
- Confirm it’s iMessage – blue bubbles? Green bubbles (SMS) don’t support previews.
- Check Low Quality Image Mode – Settings > Messages, toggle it off.
- Check Low Data Mode – Settings > Cellular > Cellular Data Options, toggle it off.
- Check HTTPS – is the URL served over HTTPS?
- Check meta tags in source –
curlthe URL and verifyog:titleandog:imageare in the response. - Check image accessibility – load the
og:imageURL directly in a browser. - Try a fresh conversation – delete the thread and start a new one to rule out local caching.