serps.io
All free tools

Content

X Card Validator

Check the card before the post goes out

In build

Enter a URL and get the twitter: tags and the Open Graph tags X falls back to, a rendering of the card at the type declared, the image dimensions against what that type needs, and every tag that is missing or contradicted.

Get early access

What it returns

  • Every twitter: tag found on the page, plus the Open Graph tags X falls back to when a twitter: equivalent is absent.
  • A rendering of the card at the declared type, so a summary_large_image with no reachable image shows up as the small card it will actually become.
  • Image width, height and file size against the requirements for that card type, including the aspect ratio that decides how the image gets cropped.
  • Missing and conflicting tags by name, including the case where og:image and twitter:image point at two different files.

When this matters

A launch post goes out and the card renders as a blank box, or the site logo, or a headline from a draft two revisions old. X retired its own card validator, so there is no official place left to check a URL before posting, and the usual workaround is to post from a throwaway account and look at what happens. The causes are narrow and repeatable: a relative image URL, an image on a path crawlers are disallowed from, a card type declaring an image that is not there, or a version of the page X fetched and cached before anyone fixed the tags.

How to answer this today

Site audit crawls the site and reports pages with social tags missing, duplicated across templates, or pointing at images that do not resolve, which is how you find the two hundred old posts nobody ever checked. It works on what is already published. Reading the tags on one URL while the post is still a draft is the check that has to come before that.

Site audit

Why this is harder than it looks

There is no official preview any more

X shut down its card validator, which means no tool can show you the authoritative rendering. Everything available is a reconstruction from documented behaviour and observed output. A good one says so, because the gap between reconstruction and reality is exactly where a surprise lives.

Caching outlives the fix

Card data is fetched and held per URL for a period. Correcting the tags does not correct a card already in the cache, so a post that rendered badly keeps rendering badly. Changing the URL or waiting is often the only remedy, which makes checking before posting worth more than diagnosing after.

The crawler has to reach the image

Images behind authentication, on a disallowed path, served only to browser user agents, or sitting behind a redirect chain fail without a word. The tags look correct in the page source and the card still comes out empty, which is why the image needs fetching rather than reading.

Fallbacks hide the mistake

Because X reads Open Graph tags when twitter: tags are absent, a page with no twitter: tags at all can look perfectly healthy. A page with both can render the one you did not mean. Either way the useful report says which tag was used, not just which tags exist.