How to check a link preview
- Type the page address, for example
yourbusiness.com/spring-offer, and press Check. - Read each platform’s card and its notes. Green means the card will look right; amber and red list what to change.
- Copy the fixed tags into your page’s
<head>, publish, then clear each platform’s cache.
Works on localhost and staging
Not live yet, or behind a login? Switch to Paste HTML. Open the page, press Ctrl+U (⌥⌘U on a Mac), copy everything and paste it. The check runs in your browser, so a page on localhost, a staging server or a draft works the same as a live one. If your site is built with JavaScript and the source looks empty, copy the rendered <html> from developer tools instead; most social platforms don’t run scripts, so tags added only by JavaScript are often invisible to them.
What each platform reads
| Platform | Title cut | Large image from | Notes |
|---|---|---|---|
| X (Twitter) | ~70 | 300 px | Needs twitter:card=summary_large_image for the big image. Falls back to og:* for title, description and image. |
| ~70 | 401 px | Shows title and domain only. Images under 401 px wide become a small thumbnail. Re-scrape with Post Inspector after changes. | |
| ~88 | 600 px | Under 600×315 the image becomes a small square. Clear the cache with the Sharing Debugger after changes. | |
| ~65 | 300 px | Keep the image file under about 300 KB or WhatsApp may skip it. Previews are cached per chat. | |
| Slack | ~100 | 400 px | Uses og:site_name above the title. Unfurls are cached for about 30 minutes. |
| Discord | ~100 | 300 px | Large image only with twitter:card=summary_large_image, otherwise a thumbnail. theme-color sets the side bar. |
| iMessage | ~60 | 300 px | Shows a large image, or your apple-touch-icon when there is none. No description. |
| Google search | ~60 | no image | Uses <title> and the meta description, not og:*. Google may rewrite either. Titles cut at about 600 px. |
OG image size for each platform
The OG image checker loads your og:image in your browser to read its real width and height, then applies each platform’s limits. Below the smallest size the image is dropped; below the large-card width it shrinks to a thumbnail.
| Platform | Shown from | Large card from | Large card crop |
|---|---|---|---|
| X (Twitter) | 144 × 144 px | 300 px wide | 1.91:1 |
| 200 × 104 px | 401 px wide | 1.91:1 | |
| 200 × 200 px | 600 px wide | 1.91:1 | |
| 100 × 100 px | 300 px wide | 1.91:1 | |
| Slack | 50 × 50 px | 400 px wide | 1.91:1 |
| Discord | 50 × 50 px | 300 px wide | 1.91:1 |
| iMessage | 100 × 100 px | 300 px wide | 1.91:1 |
A safe recipe: 1200 × 630 pixels, PNG or JPEG, headline and logo inside the middle 1000 × 500, a full https:// address, and no login or hotlink protection in front of it.
<meta property="og:image" content="https://yoursite.com/share-1200x630.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="What the image shows">What the Open Graph checker looks at
| Tag | What it does | What we check |
|---|---|---|
og:title | The bold line on the card | Present; length against each platform’s cut-off |
og:description | The grey line under it | Present; length; which platforms hide it |
og:image | The picture | Absolute URL, loads, type, size, crop |
og:url | The page’s own address | Absolute; matches the canonical |
og:site_name | Brand line on Slack and Discord | Present |
twitter:card | Large or small card on X and Discord | Set to summary_large_image |
Six tags cover every platform: og:title, og:description, og:image, og:url, twitter:card, and a normal <title> and meta description for Google. Add og:site_name for Slack and Discord, theme-color for Discord’s side bar, and an apple-touch-icon for iMessage. Use property= for og: tags and name= for twitter: tags; the tool reads both and writes the standard form.
Posting mostly to X? The X (Twitter) card validator opens on the X card and its rules. For a local business site, the website lead grader checks whether the page turns visitors into calls and bookings.
Questions people ask
Why does my link show no image when I share it?
Usually the og:image tag is missing, uses a relative address such as /share.png instead of the full https:// address, points to an SVG, or the image is too small. The checker flags each of these per platform and gives you a fixed tag.
What size should an OG image be?
1200 × 630 pixels (1.91:1) works on every platform here. Keep the file small enough for WhatsApp to show it (around 300 KB is a safe target), keep important text away from the edges, and use PNG or JPEG. SVG is ignored by most platforms.
I fixed my tags but the old preview still shows. Why?
Platforms cache previews. Use Facebook’s Sharing Debugger and LinkedIn’s Post Inspector to fetch the page again. Slack refreshes after a while; WhatsApp and iMessage cache per chat, so test in a new chat.
Which Open Graph tags are required?
The Open Graph protocol lists og:title, og:type, og:image and og:url as the basic four. In practice add og:description and og:site_name too, plus twitter:card for X. X falls back to the og: tags for everything else.
Can I check a page that is not public yet?
Yes. Switch to Paste HTML and paste the page source. That runs entirely in your browser, so it works for localhost, staging sites, pages behind a login and drafts.
What happens when I enter a URL?
Our checker fetches that one public page once, reads only its <head>, and sends it back to your browser. It refuses private and internal addresses, sends no cookies, and does not store the page.
How accurate are the previews?
They are drawn at each platform’s own sizes and line limits, and the image is cropped the way each platform crops it. Platforms change their layouts without notice, so treat a preview as very close rather than exact.