How to use it
- Enter the address of a page, like
example.com/blog/launch, and press Check. No page at hand? Try one of the examples. - See the card each app builds for it: X, Facebook, LinkedIn, Slack, Discord, WhatsApp and iMessage. A green dot means the card looks right; an amber or red one says what's wrong under the card.
- Open Show fixes and tags for every tag checked one by one. Missing tags come ready to paste into your
<head>: copy them, fill in the values, publish the change, and check again.
The address of the check is in your browser's address bar, so you can send it to whoever looks after the page.
How link previews work
When you paste a link into a post or a chat, the app's crawler fetches the page once and reads the tags in its <head>. It doesn't run JavaScript, sign in or accept cookie banners, so tags added by a script after the page loads are invisible to it. The checker fetches the page the same way: one request, no JavaScript, and redirects followed like a crawler follows them.
Each app reads the same few tags, with its own fallbacks:
- Open Graph (
og:title,og:description,og:image,og:url,og:site_name) is what Facebook, LinkedIn, Slack, Discord, WhatsApp and iMessage read. - X reads
twitter:card,twitter:title,twitter:descriptionandtwitter:imagefirst, and falls back to the Open Graph tags. Withouttwitter:cardit shows a small summary card, even when there's an image. - When
og:titleis missing, most apps use the<title>. Whenog:descriptionis missing, some use the meta description and some show no text at all. - Discord colours the side of its card with
theme-color.
The previews here follow those rules. Each app also changes its design from time to time, so treat them as close, not exact.
The preview image
One image works everywhere: 1200 × 630 pixels (1.91:1), PNG or JPEG, at a full https:// address.
- Under 600 pixels wide, Facebook and LinkedIn show a small thumbnail instead of a large card. Under 200 × 200, Facebook shows no image.
- X takes images up to 5 MB and Facebook up to 8 MB. WhatsApp often leaves out images over about 600 KB, so a well-compressed JPEG is the safe choice.
- SVG isn't supported by any of the big apps.
- A relative address like
/og.pngdoesn't work for every crawler. Write the full URL. - Square crops are common (WhatsApp, iMessage on small links), so keep the important part of the image near the middle.
The checker fetches the image too, measures it from its file header, and shows it in the previews.
Why a preview still looks old
Apps cache what they fetched, from minutes to about a week. After you fix your tags, the checker shows the new version straight away, but a link that was already shared keeps the old preview until the app fetches it again. Facebook's Sharing Debugger and LinkedIn's Post Inspector fetch a page again on request. In Slack, a link posted again after a while gets a new preview. Adding a query string, like ?v=2, makes any app treat it as a new link.
Frequently asked questions
Why does my preview have no image?
The usual causes, in order: there's no og:image tag, the image address is relative or answers an error, the image is too small or too large, or the tag is added by JavaScript after the page loads. The line under each card names the one that applies.
Which tags do I need at the least?
og:title, og:description, og:image with a 1200 × 630 image, og:url and twitter:card set to summary_large_image. The Meta Tag Generator writes them for you.
Can it check pages that need a login?
No. Crawlers don't sign in, so a page behind a login has no preview anywhere. The checker sees what they see, and only fetches public addresses: private and internal networks are refused.
Does the checker store the pages it fetches?
No. It fetches the page and its images when you press Check and sends you what it found. The result is kept for two minutes, so a second check of the same address is instant, and then dropped. It reads up to 2 MB of HTML and 8 MB per image, and gives up after 8 seconds.
Why does it say my page answers 403 when it opens fine in my browser?
Some sites and firewalls block requests that don't come from a browser, or from big crawlers they know. If the checker gets a 403, Facebook or LinkedIn may get one too: check your firewall's bot settings.
Is there a limit?
Twenty checks a minute from one address. Each site is also fetched at most 60 times a minute across everyone using the checker, so it can't be used to flood a site. Results are kept for two minutes, so the same address checked again shortly after comes back at once; pressing Check again on the page you're looking at always fetches it fresh.