Check My OG
Made by Dayward AI

iMessage link preview checker

Messages builds a link preview from a few Open Graph tags on your page. This page covers which tags it reads, Apple's size limits, when a video autoplays, and how to fix a preview that won't show.

Paste a URL to see its iMessage card and test it against Apple's 1 MB page and 10 MB media guidelines.

What Messages reads

Apple's technote TN3156 lists the tags Messages uses for a rich preview. They have to be in the HTML of the page at the link: Messages does not run JavaScript and does not follow meta refresh redirects. It does follow server-side redirects.

TagWhat Messages does with it
og:titleThe card title. Apple asks for a short title that tells pages on the same site apart, with no site name in it.
og:site_nameWhere the site name and branding go, instead of the title.
og:imageThe preview image. Apple advises against text in it, because it is shown at different sizes on different devices.
og:video or twitter:player:streamA video file that Messages downloads and plays in the card.
apple-touch-icon, a favicon, or a <link rel="..."> iconThe small site icon. Apple asks for a high-resolution icon as well as the image.

A page with an image and a video looks like this. Per ogp.me, the tags go in the <head>.

<meta property="og:title" content="Spring catalog">
<meta property="og:site_name" content="Example Shop">
<meta property="og:image" content="https://example.com/og.png">
<meta property="og:video" content="https://example.com/og.mp4">
<meta property="og:video:type" content="video/mp4">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">

Serve the same tags to every user agent, mobile and desktop. Pages behind a login should still carry metadata for the page itself (without anything sensitive), or every link previews as "Sign In".

Image, icon and size limits

WhatApple's guideline
Image widthAt least 900 px. Under 150 px wide may be ignored or shown as an icon.
IconSquare, at least 108 px per side.
The page at the link (the HTML)1 MB
Icon, image and video together10 MB

Apple calls these guidelines and says the limits may change. It names no aspect ratio; the checker tests og:image for 1.91:1 at 600 px or wider, so 1200 by 630 passes both. The checker counts the video plus poster against 10 MB (the icon is small).

Video autoplay in iMessage

Point og:video straight at the file, not at a page with a player in it. Apple's technote says Messages downloads a playable file (it gives an MPEG-4 file as the example) and plays it back on its own. A stream that can't be downloaded, such as HLS, needs a tap. A video that needs embed HTML doesn't play inline.

In a device test on 24 Oct 2026, Messages played the MP4 muted and looping. With autoplay off or Reduce Motion on, it showed the poster with a play button, and that poster is og:image. So set both tags: every other app except Discord shows the image anyway (see the og:video guide and Discord).

Beyond Apple's rules, the checker tests what makes an MP4 play in most players: served as video/mp4 over https, range requests answered with 206, faststart (the moov box before mdat), H.264 and yuv420p.

How the preview looks

The page hasThe person sees
og:title and og:imageA card with the image and the title.
og:video pointing at an MP4The video plays in the card, muted and looping.
The same, with autoplay off or Reduce Motion onThe og:image poster with a play button.
og:video pointing at an HLS streamA video that needs a tap to play.
No og:imageA gray text bubble with the title, the domain and the site icon.

Common problems and fixes

What you seeFix
A gray bubble with no imageAdd og:image to the HTML and check that the image loads and is at least 900 px wide.
A gray bubble, though the browser's inspector shows the tagsThe tags are probably added by JavaScript, which Messages doesn't run. Put them in the HTML the server sends.
No rich preview for a link that redirects with a meta refreshMessages doesn't follow it. Use a server-side redirect.
Every link says "Sign In"Give pages behind a login their own metadata, with nothing sensitive in it.
The video shows a play button instead of playingog:video is a stream, or the person has autoplay off or Reduce Motion on. Use a downloadable MP4 for the first case; the second is their setting.
Only the image shows, no videoog:video points at a player page. Point it at the MP4 file, and keep the icon, image and video under 10 MB.

The checker reports most of these. Run it on checkmyog.com itself to see a page that passes every check.

Clearing a cached preview

TN3156 describes no cache time and no tool to refresh a preview. Apps cache a preview by its URL, so after you fix the tags an app can keep showing the old card. Share the link with a new query string, such as ?v=2, and give a changed og:image or og:video file a new URL too. Other apps handle this differently: see Discord, Slack and LinkedIn.

Questions

Why is my iMessage link preview not showing an image?

Without a usable og:image, Messages shows a gray text bubble with the title, the domain and the site icon. Put og:image in the page HTML (Messages runs no JavaScript), check that the image loads, and make it at least 900 px wide.

How do I make a video autoplay in an iMessage link preview?

Point og:video at a downloadable video file, such as an MP4, not at a player page. Messages plays it muted and looping. An HLS stream needs a tap. Keep the icon, image and video under 10 MB together. With autoplay off or Reduce Motion on, people see the og:image poster with a play button.

How do I change the iMessage link preview image?

Change the og:image tag on the page and give the new image a new file URL. Then share the page with a new query string such as ?v=2, because apps cache a preview by its URL.

What size should an iMessage preview image be?

Apple's guideline is at least 900 px wide, and images under 150 px wide may be ignored or shown as an icon. Apple names no aspect ratio. 1200 by 630 meets Apple's width and the 1.91:1 shape the checker tests for.

How do I refresh an old iMessage link preview?

Apple's technote describes no cache time and no refresh tool. Apps cache a preview by its URL, so after you fix the tags, share the link with a new query string such as ?v=2, and give a changed og:image or og:video file a new URL too.

Sources