Twitter Card Validator

When someone shares your link on X (Twitter), the platform reads the page’s twitter: meta tags to build the preview card: its layout, title, description, image and attribution. If those tags are missing, the link posts as a bare URL with no card. Paste your page HTML below and this validator checks that the three required tags, twitter:card, twitter:title and twitter:description, are present, showing the value it reads from each so you can fix a broken preview before you publish.

How to validate your card

  1. 1

    Paste the HTML of your page

    You can paste the `<head>` section alone or the whole document. The validator only inspects `<meta>` tags, so any other markup is ignored.

  2. 2

    It scans for the three required tags

    `twitter:card`, `twitter:title` and `twitter:description`, the minimum every card type needs. Other tags such as `twitter:image` are not checked here.

  3. 3

    See what was found

    Each matching tag is listed with the value read from its `content` attribute, so you can sanity-check the wording.

  4. 4

    Fix what is missing

    Any of the three that is absent is flagged as missing. Add it to your `<head>` and paste the HTML again to re-check.

The four X (Twitter) card types

The layout is set by the twitter:card value. This validator reads whichever value you provide; the four X supports are:

Card type twitter:card value Typical use
Summary summary Articles and standard content pages
Summary with large image summary_large_image Blog posts with a hero image
Player player Embedded audio or video
App app App-install links with store metadata

Required vs recommended tags

This tool checks only the first group, the three tags X needs for any card.

Required (checked here):

  • twitter:card, the layout to use
  • twitter:title, the headline (X shows roughly the first 70 characters)
  • twitter:description, the summary (X shows roughly the first 200 characters)

Recommended (not checked here, but worth adding):

  • twitter:image, an absolute https:// URL to a PNG, JPG or GIF; at least 300 x 157 px for a summary card and 800 x 418 px for summary_large_image
  • twitter:site, your brand’s @handle
  • twitter:creator, the author’s @handle
  • twitter:image:alt, alt text for accessibility

Common mistakes

  • Only Open Graph tags. X falls back to og:title, og:description and og:image, so the link still unfurls, but without twitter:card the layout defaults to a small summary. Ship both sets when you can.
  • Image too small. Below 300 x 157 px the card can collapse to text only.
  • Relative image URL. twitter:image must be absolute (https://...); a relative path is ignored.
  • property= instead of name=. X, and this validator, read the Twitter tags from name="twitter:...". Writing property="twitter:..." works for Open Graph but not for these.
  • Description too long. Past about 200 characters X truncates it, usually in the middle of a word.

How to preview the real card

X retired its official Card Validator (cards-dev.twitter.com/validator) in 2023, so there is no first-party page that renders a live preview any more. This tool confirms the required tags are present and readable; to see the actual card, share the link in a draft post or a direct message to yourself, or use a third-party link-preview checker. If X keeps showing an old image after you fix the tags, add a query string such as ?v=2 to the image URL to get past its cache.

Frequently Asked Questions

No. It reads the HTML you paste and confirms the three required twitter: tags are present, showing the value of each. It does not draw the card or fetch your live page. X shut down its own Card Validator in 2023, so the reliable way to see the real card is to share the link in a draft post or a direct message to yourself.

X falls back to og:title, og:description and og:image, so the link still unfurls, but without twitter:card the layout defaults to a small summary. For a large-image card you must set twitter:card to summary_large_image explicitly. Note this validator checks only the twitter: tags, not your og: tags.

It looks for name="twitter:..." with the content attribute written after the name, in single or double quotes. If your tag uses property="twitter:..." instead of name=, or places content before name, the pattern will not match even though the HTML is valid. Reorder it to name="..." content="..." and check again.

This validator matches the name whatever its case, so twitter:Card is still detected here. Even so, keep them lowercase (twitter:card), because that is the form X documents and expects.

Briefly, yes. The check runs on our server, so the HTML you paste is sent there, scanned and discarded. We keep only an anonymous note that the tool was used, never your markup, and it is not an offline, in-browser tool.

Related Tools

Tool available in other languages