---
title: "Twitter Card Preview and X Card Validator (Free Checker)"
url: https://uselinkpilot.com/tools/open-graph-preview/twitter
description: "Free Twitter Card preview and X card validator. Paste a URL to inspect twitter:card, twitter:image, and Open Graph fallbacks and see how it renders on X."
lang: en
---

For X / Twitter Cards

# Twitter Card Preview and X Card Validator

Preview how your URL renders as a Twitter Card on X.

Track clicks on this link — create a free LinkPilot account (https://uselinkpilot.com/signup)

No credit card required · Free forever plan

## Twitter Cards vs Open Graph

X looks for twitter:* tags first, then falls back to Open Graph. Most sites only need OG — twitter:* is for cases where you want a different preview on X.

summary_large_image is the card type that gets clicks. Default summary cards have small icons and underperform.

The fallback chain is worth knowing precisely: for each field, X checks the twitter:* tag first, then the og:* equivalent (twitter:title falls back to og:title, twitter:image to og:image, and so on). The one tag with no OG equivalent is twitter:card itself — the card type declaration. Without it, X may still render a card from OG data, but declaring twitter:card=summary_large_image explicitly is the reliable way to get the large-image layout.

X's card rendering has changed repeatedly in recent years — most notably, link cards on X have gone through periods of showing the image without the headline text overlaid, which shifts even more weight onto the image itself. Design og:image/twitter:image assets that communicate the story with zero caption support: legible title text baked into the image is the pragmatic response to a platform that keeps redesigning around your metadata (verify current rendering with a test post — it changes).

Like every scraper, Twitterbot reads server-rendered HTML only. SPAs that inject meta tags client-side produce blank cards; server-side rendering or prerendering fixes it. Twitterbot also respects robots.txt — a disallow rule that catches it is a surprisingly common cause of missing cards on otherwise well-tagged sites.

Card issues on X are harder to debug than they used to be: the official Card Validator's preview functionality was retired, so third-party tag checkers like this one plus a real test post from a private or low-stakes account are the practical validation workflow as of 2026.

Caching on X is real but shorter-lived than Facebook's or LinkedIn's. If you've fixed tags and the old card persists, give it time or test with a URL variant (adding a harmless query parameter forces a fresh scrape since the cache is keyed by URL) — a trick that works on most platforms when you need to see the corrected card immediately.

## Common use cases

### Launch tweets

Verify large image cards render before tweeting your launch — a text-only launch tweet in the feed is a visibility tax you don't have to pay.

### Article shares

Confirm the card image and headline match the article on X, and that the image still tells the story if X renders it without overlay text.

### Diagnosing missing previews

Catch missing twitter:card meta before it costs you impressions — this tool shows exactly which tags the page serves right now.

### SPA rendering audits

Verify client-rendered sites serve meta tags to crawlers — the most common cause of blank X cards on modern frontend stacks.

### Multi-platform consistency

Check that your twitter:* overrides (if any) and og:* base tags tell the same story, so shares look intentional on X, LinkedIn, and Slack alike.

## Frequently asked questions

### Do I need separate twitter:* tags?

### What's the recommended image size?

### Why is my card not showing?

### Is the Twitter Card Validator still a thing?

### How do I force X to re-scrape my URL?

### Why does my card show the image but no headline?

## Other Open Graph Preview variants

Pre-configured variants tuned to specific platforms and use cases.

For LinkedIn shares

### LinkedIn Link Preview Checker

See how your URL looks when shared on LinkedIn — before you post.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/linkedin

For Slack unfurls

### Slack Link Preview Checker

Check how your URL unfurls inside Slack messages and channels.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/slack

For Facebook shares

### Facebook Link Preview Checker

Inspect how your URL will render in a Facebook post or share.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/facebook

For Discord embeds

### Discord Link Preview Checker

See how Discord embeds your URL inside a channel or DM.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/discord

For WhatsApp chats

### WhatsApp Link Preview Checker

See the title, description, and thumbnail WhatsApp shows when a link is pasted into a chat.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/whatsapp

For Telegram messages

### Telegram Link Preview Checker

See how Telegram renders your URL in chats, groups, and channels.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/telegram

For iMessage rich links

### iMessage Link Preview Checker

See the rich link card Apple Messages builds from your og:title and og:image.

Open variant
https://uselinkpilot.com/tools/open-graph-preview/imessage

Back to the full Open Graph Preview: https://uselinkpilot.com/tools/open-graph-preview

## Get more from your links

The Twitter Card Preview and X Card Validator is just the start. Create a free LinkPilot workspace to track every click, organize your links, and share secrets securely with your team.

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://uselinkpilot.com/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Tools",
        "item": "https://uselinkpilot.com/tools"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Open Graph Preview",
        "item": "https://uselinkpilot.com/tools/open-graph-preview"
      },
      {
        "@type": "ListItem",
        "position": 4,
        "name": "Twitter Card Preview and X Card Validator",
        "item": "https://uselinkpilot.com/tools/open-graph-preview/twitter"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Do I need separate twitter:* tags?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Only if you want a different image, title, or description on X than on other platforms. Otherwise, Open Graph alone is fine."
        }
      },
      {
        "@type": "Question",
        "name": "What's the recommended image size?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "1200×675 (16:9) for summary_large_image. Aspect ratios outside 2:1 to 1:1 may be cropped."
        }
      },
      {
        "@type": "Question",
        "name": "Why is my card not showing?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "X requires a public URL with no robots.txt blocks on Twitterbot, an https image, and either twitter:card or og:image."
        }
      },
      {
        "@type": "Question",
        "name": "Is the Twitter Card Validator still a thing?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "The validator's card preview was retired; as of 2026 the workflow is a tag checker like this one plus a real test post. X's cache is short enough that iterating with test posts is workable."
        }
      },
      {
        "@type": "Question",
        "name": "How do I force X to re-scrape my URL?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "X's card cache expires on its own fairly quickly, but the immediate workaround is a URL variant — append a harmless query parameter (?v=2) and X treats it as a new URL and scrapes fresh."
        }
      },
      {
        "@type": "Question",
        "name": "Why does my card show the image but no headline?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "X has gone through periods of rendering link cards image-first with minimal or no title text. You can't control it from your side — design share images that carry the headline visually, and verify current behavior with a test post."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Twitter Card Preview and X Card Validator",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "Any (web)",
    "browserRequirements": "Requires JavaScript and a modern browser.",
    "description": "Free Twitter Card preview and X card validator. Paste a URL to inspect twitter:card, twitter:image, and Open Graph fallbacks and see how it renders on X.",
    "url": "https://uselinkpilot.com/tools/open-graph-preview/twitter",
    "isAccessibleForFree": true,
    "isPartOf": {
      "@type": "WebApplication",
      "name": "Open Graph Preview",
      "url": "https://uselinkpilot.com/tools/open-graph-preview"
    },
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "USD"
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com"
    }
  }
]
```