Skip to content
Moxisync

Link preview checker

Enter a page address and see how its link looks on Facebook, X, LinkedIn, WhatsApp, Slack, Discord, iMessage and Google, with the Open Graph tags that fix it.

Works offline

We fetch the public page once, like a search engine would. Nothing is stored.

How to check a link preview

  1. Type the page address, for example yourbusiness.com/spring-offer, and press Check.
  2. Read each platform’s card and its notes. Green means the card will look right; amber and red list what to change.
  3. 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

PlatformTitle cutLarge image fromNotes
X (Twitter)~70300 pxNeeds twitter:card=summary_large_image for the big image. Falls back to og:* for title, description and image.
LinkedIn~70401 pxShows title and domain only. Images under 401 px wide become a small thumbnail. Re-scrape with Post Inspector after changes.
Facebook~88600 pxUnder 600×315 the image becomes a small square. Clear the cache with the Sharing Debugger after changes.
WhatsApp~65300 pxKeep the image file under about 300 KB or WhatsApp may skip it. Previews are cached per chat.
Slack~100400 pxUses og:site_name above the title. Unfurls are cached for about 30 minutes.
Discord~100300 pxLarge image only with twitter:card=summary_large_image, otherwise a thumbnail. theme-color sets the side bar.
iMessage~60300 pxShows a large image, or your apple-touch-icon when there is none. No description.
Google search~60no imageUses <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.

PlatformShown fromLarge card fromLarge card crop
X (Twitter)144 × 144 px300 px wide1.91:1
LinkedIn200 × 104 px401 px wide1.91:1
Facebook200 × 200 px600 px wide1.91:1
WhatsApp100 × 100 px300 px wide1.91:1
Slack50 × 50 px400 px wide1.91:1
Discord50 × 50 px300 px wide1.91:1
iMessage100 × 100 px300 px wide1.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

TagWhat it doesWhat we check
og:titleThe bold line on the cardPresent; length against each platform’s cut-off
og:descriptionThe grey line under itPresent; length; which platforms hide it
og:imageThe pictureAbsolute URL, loads, type, size, crop
og:urlThe page’s own addressAbsolute; matches the canonical
og:site_nameBrand line on Slack and DiscordPresent
twitter:cardLarge or small card on X and DiscordSet 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.

All business tools