Peekly

X (Twitter) Link Preview

A link preview on X is a Twitter Card. twitter:card picks the layout. The title, description, and image fall back to Open Graph when the twitter: copies are missing. Paste a URL to see which card the tags produce. The same check, focused on the card, is the Twitter Card Validator.

Free. No signup. Public pages only.

Cards and Open Graph

  • The tag that picks the layout. X's published card docs define summary, summary_large_image, app, and player. summary_large_image is the large image. summary is the small thumbnail, cropped square. There is no Open Graph tag that selects that layout. Set twitter:card with the name attribute, which is the attribute the card markup uses. Open Graph tags use property. Without summary_large_image, X shows the small thumbnail. Peekly warns when twitter:card is missing and reports that fallback. The Twitter Card Validator shows the card those tags produce.
  • What falls back to Open Graph. twitter:title falls back to og:title. twitter:description falls back to og:description. twitter:image falls back to og:image. Set the twitter: title, description, and image when the X card should differ from the Open Graph values. A page that already has those og: tags still needs twitter:card. twitter:site and twitter:creator are the attribution handles. They have no Open Graph equivalent, and they are optional. Peekly shows the title and image the card will use after that fallback.
    <meta property="og:title" content="Page title">
    <meta property="og:description" content="One or two sentences.">
    <meta property="og:image" content="https://example.com/og.png">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Page title">
    <meta name="twitter:description" content="One or two sentences.">
    <meta name="twitter:image" content="https://example.com/og.png">
  • Image mistakes. X's published summary_large_image rules are a 2:1 image, at least 300×157, at most 4096×4096, under 5 MB. JPG, PNG, WEBP, and GIF are supported. SVG is not. summary is 1:1, at least 144×144, also under 5 MB. A 1200×630 Open Graph image is 1.91:1, so it is a little taller than 2:1. The image URL has to be absolute https. A path with no host, an http:// file, or a login wall leaves the image slot empty. A tag that appears only after JavaScript runs is missing from the HTML Twitterbot fetched. The Open Graph Image Size page has the rest of the published numbers. The How to Add Open Graph Tags page is the four og: tags those fallbacks read.
  • Validate the card. X does not publish a scrape-again tool. The old Card Validator no longer shows a preview. Paste the public URL here. Peekly reads twitter:card, follows the image fallback, downloads the file, and reports the dimensions and the file size. It does not clear a card X already stored. A query string such as ?v=2 is a different URL, fetched on its own. The original URL updates when X fetches it again. The Refresh a Link Preview Cache page is that wait, next to the tools Facebook and LinkedIn publish.

Tags covered: twitter:card · twitter:title · twitter:description · twitter:image · og:title · og:description · og:image

More checkers

Twitter Card ValidatorOpen Graph CheckerLinkedIn Link Preview CheckerDiscord Embed PreviewWhatsApp Link Preview CheckerSlack Link Preview CheckeriMessage Link Preview CheckerFacebook Link Preview CheckerOpen Graph Image SizeTelegram Link Preview CheckerReddit Link Preview CheckerNext.js Open GraphRefresh a Link Preview CacheBluesky Link Preview CheckerMastodon Link Preview CheckerMicrosoft Teams Link Preview CheckerFix a Broken Open Graph PreviewInstagram Link Preview CheckerPinterest Link Preview CheckerTikTok Link Preview CheckerYouTube Link Preview CheckerThreads Link Preview CheckerSnapchat Link Preview CheckerHow to Add Open Graph TagsOpen Graph Image Not UpdatingDiscord Link PreviewWordPress Open GraphShopify Open GraphAll platforms

What each platform reads

  • X / Twittertwitter:card, twitter:* → og:* fallback1200×630 (min 300×157), < 5 MB
  • Facebookog:title, og:description, og:image1200×630, 1.91:1
  • LinkedInog:title, og:image (og: only)1200×627, 1.91:1
  • Discordog:site_name, og:*, theme-color, twitter:cardLarge image needs summary_large_image
  • Slackog:site_name, og:title, og:description, og:image1200×630
  • WhatsAppog:title, og:description, og:imageKeep < 300 KB

Guidance based on each platform's public documentation and observed behavior. Platforms change their rules without notice.

FAQ

+Is Peekly free?

Yes. Checking a single URL is free forever — no signup and no limit on one-off checks. Batch watching and monitoring may arrive later as a paid Pro plan; the free single-URL tool stays.

+Why does my link show no image when I share it?

Usually one of four things: there's no og:image tag, the image URL is relative instead of absolute, the image is behind a login, firewall or bot block, or the file is too big or in an unsupported format like SVG. Peekly checks all four and tells you which one it is.

+What size should my og:image be?

1200×630 pixels (a 1.91:1 ratio) as a PNG or JPG under about 300 KB. That size works for large cards on X, Facebook, LinkedIn, Discord, Slack and WhatsApp.

+Do I need twitter: tags if I already have Open Graph tags?

X reads og:title, og:description and og:image as fallbacks, but you still need twitter:card set to summary_large_image if you want the big image card. Without it, X shows a small thumbnail.

+I fixed my tags but the old preview still shows. Why?

Platforms cache link previews, sometimes for days. Facebook and LinkedIn let you force a refresh with their own debugging tools. On X, Slack and Discord the cache usually expires on its own, or you can add a query string such as ?v=2 to the URL.

+Do you store the pages I check?

No. We fetch the page once to read its <head>, show you the result, and don't save the page or the result. We only fetch public http(s) URLs, and private or internal addresses are blocked.

+Are the previews pixel-perfect?

They're close approximations of each platform's current card layout, built from the same tags the platforms read. Platforms change their designs from time to time, so treat them as a very good guide rather than a screenshot.

$9

One time

A written fix for the batch.

Up to 25 URLs. We check og:image, Twitter cards, size, redirects, and cache, then send copy-paste meta tags within 48 hours. The free single-URL check stays free.

Get the fix report — $9