X-Autopilot

X card validator: how to test link cards in 2026

The X card validator is gone. Here is what replaced it: the composer preview, free third-party checkers, the meta tags X still reads, and how to bust the cache.

X-Autopilot Team··9 min read
On this page · 13 sections

The short version

  • X's official card validator is dead. The preview was removed in August 2022 and, checked 16 September 2026, cards-dev.x.com/validator redirects to an x.com login page. Pages telling you to 'paste your URL into the validator to force a re-crawl' are repeating advice that stopped working years ago.
  • X's own Cards documentation is gone too: the old developer.x.com cards URLs now redirect to docs.x.com/overview, and the live documentation index has no Cards entry at all (checked 16 September 2026).
  • The two checks that work now: paste the link into the X composer and look at the preview, or run a free third-party checker such as BrandBird or Social Share Preview. Both are free with no signup.
  • The tags still work even though the docs vanished. twitter:card, twitter:title, twitter:description and twitter:image are still read, with Open Graph as the fallback, so keep them and keep the image under 5 MB.
  • There is no re-scrape button. X caches card data for roughly seven days, so change the URL (add ?v=2) when you need a fresh crawl.

Quick answer

The X card validator no longer exists. The tool at cards-dev.x.com/validator lost its preview in August 2022, and checked on 16 September 2026 that URL redirects to an x.com login screen. To test a link card now, paste the URL into the X post composer and read the preview, or use a free third-party checker such as BrandBird or Social Share Preview. To force a refresh, change the URL, because the re-scrape button is gone.

Last updated: September 2026

What happened to the Twitter card validator

For a decade the answer to "why does my link look wrong on X (formerly Twitter)" was one URL: the card validator. You pasted a link, it showed the card, and hitting it forced a fresh crawl. That workflow is gone in three steps.

August 2022: X staff posted in the developer forums that "we've recently removed the preview functionality from the Card Validator," pointing people at the post composer instead (X Developer Community, 2 August 2022). The URL stayed up, but it stopped showing you a card.

October 2023: X removed headlines and description text from in-stream link previews entirely, leaving the image with the domain name overlaid in the bottom-left corner (TechCrunch, 5 October 2023). Headlines came back briefly in January 2024 as small text over the image, then were rolled back within hours (TechCrunch, 3 January 2024).

Now: the validator URL is a login wall. Request cards-dev.x.com/validator and it lands on x.com/login?redirect_after_login=..., which we checked on 16 September 2026. cards.x.com/validator returns a 404.

Here is the part nobody else seems to have noticed. X's own Cards documentation is also gone. The old developer.x.com/en/docs/x-for-websites/cards/... URLs now redirect to docs.x.com/overview, and the live documentation index that X publishes for developers and AI agents lists the X API, Ads API, enterprise endpoints and SDKs with no Cards section anywhere in it (checked 16 September 2026). The spec still describes how the platform behaves, but you have to read it from an archive.

That matters when you are searching for help, because most pages ranking for "twitter card validator" still tell you to paste your URL into a tool that has not previewed a card since 2022, and a few sell you a subscription on the back of it.

What an X card looks like in 2026

Before you debug a card, know what a correct one looks like now. Post a link on X today and the timeline shows your image with the domain overlaid at the bottom-left. Your headline and description are not displayed in-stream, which has been true since the October 2023 change.

Three practical consequences:

  • Your image carries the whole message. If the image is a decorative gradient, the card says nothing. Put the hook in the image, and keep text clear of the bottom-left corner where the domain badge sits.
  • Your post text has to do the work the headline used to do. Write the context into the post, not into the page title.
  • The card type still changes the size. summary_large_image renders a wide image, plain summary renders a small square thumbnail. That one tag is still the difference between a card people notice and one they scroll past.

Sizing the image right is its own job, and we cover the current dimensions in X image sizes.

The meta tags X still reads

None of the tags changed when the documentation disappeared. From X's Cards Markup Tag Reference (archived 28 March 2025), the working set is short:

TagWhat it doesLimitFalls back to
twitter:cardCard type: summary, summary_large_image, app, playerRequiredog:type may render a summary card
twitter:titleHeadline the card carriesMax 70 charactersog:title
twitter:descriptionSupporting textMax 200 charactersog:description
twitter:imageThe imageUnder 5 MB, JPG, PNG, WEBP or GIF, no SVGog:image
twitter:image:altAlt text for screen readersMax 420 charactersog:image:alt
twitter:site@username of the siteOptionaln/a

For summary_large_image the archived docs give the image spec precisely: 2:1 aspect ratio, minimum 300x157, maximum 4096x4096 pixels, under 5 MB. Only the first frame of an animated GIF is used.

A minimal, correct head looks like this:

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@yourhandle" />
<meta property="og:title" content="Your headline, under 70 characters" />
<meta property="og:description" content="One sentence of context, under 200 characters." />
<meta property="og:image" content="https://example.com/og/page.png" />
<meta name="twitter:image:alt" content="Plain description of the image" />

Note what is doing the work: the Open Graph tags. X's parser falls back to property/content markup, so you do not need a duplicate twitter: tag for every field. Set the card type, then let OG carry title, description and image. Fewer tags, fewer ways to drift out of sync.

How to test a card now: four methods that work

1. The composer preview (the only first-party check)

Open the X composer, paste your URL, wait for the preview to render, then delete the draft. This is what X's own staff pointed people to when the validator preview was removed. It is slow and it burns a draft, but it is the ground truth: it is X's crawler and X's renderer.

2. Ask your own page what X would see

This is the check that replaces the validator's most useful feature, and you can run it in a second:

curl -sA "Twitterbot/1.0" https://example.com/your-page | grep -i "twitter:\|og:"

Twitterbot is the user agent X crawls with, documented with version strings such as Twitterbot/1.0. If that command returns nothing, X sees nothing, and the problem is your page or your server, not the card renderer. This also catches the nastiest case: a site that serves tags to browsers but strips or blocks them for bots.

3. A free third-party checker

Two are free with no signup, both checked 16 September 2026:

ToolFreeSignupNotes
BrandBird card validatorYesNoStates "100% free to use. Test unlimited URLs... without any sign-up"
Social Share PreviewYesNoPreviews X, Facebook, LinkedIn and Pinterest side by side, plus a browser extension

One caveat worth holding on to: these render a preview from the tags they fetch. They are not X, they do not see X's cache, and a tool claiming to "force a re-crawl" cannot do that any more than you can.

4. Your server logs

If a card is blank and nothing above explains it, grep your access logs for Twitterbot. No hits means the crawler never reached you, which points at robots.txt, a firewall rule, or a bot-protection product at your CDN. X publishes its crawler ranges for exactly this check: 199.16.156.0/22, 199.59.148.0/22 and 192.133.76.0/22, ASNUM AS13414.

Why your card is not showing

Most broken cards come down to a short list. These causes and thresholds come from X's archived troubleshooting guide, which is still the most specific documentation that exists.

SymptomLikely causeFix
No card at allrobots.txt or a CDN bot rule blocks TwitterbotAdd a User-agent: Twitterbot exception and allowlist the crawler ranges
No card, page loads fine in a browserPage response over the crawler's 2 MB limitTrim the HTML the crawler receives
Card shows, image missingImage over 5 MB, under 144x144, an SVG, or not publicly reachableRe-export as JPG or PNG at 1200x600 or larger
Old title or old image after an editThe seven-day cacheShare the URL with a query string appended
Card renders as a small squaretwitter:card missing or set to summarySet summary_large_image
Nothing works on a staging siteThe crawler cannot reach private hostsTest on a public URL
Intermittent failuresTLS configuration, since the crawler requires TLS 1.1 or greaterCheck your certificate chain

Two extra traps that are not in any X documentation. Redirect chains eat cards: if your link bounces through a shortener into a tracking redirect and then to a canonical URL, the crawler may give up before it reaches the tags. And bot-protection products routinely classify Twitterbot as a scraper by default, so a card that broke the same week you turned on a new firewall is almost certainly that.

How to force a refresh without a validator

The validator used to double as a cache-buster. There is no button for it now, and X caches card content for about seven days after a link is first posted.

What actually works: make the URL new.

  • Append a harmless parameter: https://example.com/page?v=2. X keys the cache on the URL, so it fetches your tags again.
  • Do the same with images. Images are cached by URL too, so rename hero.png to hero-v2.png or append ?v=2 when only the image changed.
  • Wait it out. If you cannot change the URL, the crawler re-indexes roughly every seven days anyway.

A shortener works for the same reason, though it adds a hop and you keep that hop forever in whatever you posted. A query string is cleaner.

Does the card still matter?

Honestly, less than it did, and that is worth saying plainly on a page about fixing cards.

X shows link posts with the headline stripped, and posts carrying external links generally get less distribution than posts that keep people in the app. Getting your card right stops your link looking broken, which is worth the ten minutes. It will not change your reach much on its own. If reach is the actual question, the X algorithm breakdown is the more useful read, and X analytics will tell you what your link posts are really doing.

A good link post in 2026 has a simple shape: write the hook in the post text, attach an image that reads on its own, and treat the card as packaging rather than the message. If you want more free utilities for this kind of work, free X tools has the current list, and X-Autopilot handles the posting and replying side from your own browser session rather than a cloud dashboard.

Bottom line

The X card validator is not down, not moved, and not coming back: the preview died in August 2022, the URL is now a login wall, and even the Cards documentation has been dropped from X's live developer docs. The markup still works exactly as specified, so keep twitter:card plus your Open Graph tags, keep the image under 5 MB, check what the crawler sees with a one-line curl, preview in the composer or a free third-party checker, and change the URL when you need a fresh crawl. Anyone still telling you to paste a link into the validator is quoting a tool that has not answered in four years.

Frequently asked

Answers indexed by Google + AI assistants.

Does the X card validator still work?+

No. The old validator at cards-dev.x.com/validator lost its preview feature in August 2022, and checked on 16 September 2026 the URL redirects to an x.com login screen rather than a working tool. X has not shipped a replacement, and the Cards documentation itself is no longer listed in the live developer docs index.

How do I preview an X card without the validator?+

Paste the link into the X post composer and look at the preview it renders. That is the only first-party check left. For a faster loop, use a free third-party checker such as BrandBird's card validator or Social Share Preview, both free with no signup as of 16 September 2026.

How do I force X to refresh a link card after I change my meta tags?+

There is no re-scrape button any more. X caches card data for about seven days after a link is first posted, so add a harmless query string to the URL (for example ?v=2) and share that instead. X treats it as a new address and fetches your tags again.

Do twitter:card meta tags still matter in 2026?+

Yes, they still decide whether your link renders as a large image or a small square, and X falls back to Open Graph tags (og:title, og:description, og:image) when the twitter: equivalents are missing. What changed is display: since October 2023 the in-stream card shows the image with the domain overlaid, not your headline.

Why is my X card not showing an image?+

Usual causes: the image is over 5 MB or under 144x144 pixels, the image URL is not publicly reachable, robots.txt or a bot-blocking rule at your CDN is blocking the Twitterbot user agent, your page response is over the crawler's 2 MB limit, or the old card is still cached from a previous crawl.

How can I check what X actually sees on my page?+

Request your own URL with the crawler's user agent and read the tags back: curl -sA 'Twitterbot/1.0' https://example.com | grep 'twitter:'. If that returns nothing, X sees nothing, and no validator would have helped.

Related searches
x card validatortwitter card validatorcards-dev.x.com validator not workinghow to preview a link card on xtwitter card not showing imagex card validator alternativetwitter card meta tags 2026force x to refresh a link cardhow to test twitter cards without the validatortwitter cardsopen graph tagslink preview xsummary_large_imagetwitterbot user agentog:imagesocial share preview
DY
Deepak YadavBuilding X-Autopilot

Product designer and indie hacker. Runs the agent on his own X account every day and writes up what the data shows, including when it's inconvenient.

Follow on X →
Try X-Autopilot.
$199 once. No subscription, no monthly bill. Real Chrome on your Mac.
See pricing
Free PDF · the X Growth Playbook

The exact playbook we use to grow on X

The bio that converts, the daily reply loop, the posting cadence, and the tool stack, in one no-fluff PDF. Drop your email and it's yours.

No spam. Unsubscribe anytime.

Free tools

Try it yourself.

All free X tools →
Keep reading

Related posts.