crop.wide

Image is wide for a square crop. Level: Tip.

When it is raised

Raised when the image's header gives it a width at least 1.5 times its height, twitter:card is absent or any value other than summary_large_image, player and app, and the API could not decode the pixels to see what the crop removes. That happens when the image is not served as PNG or JPEG, has more than 25 million pixels, or cannot be decoded, for example because it is corrupt, or because the download stopped early, at the 2,500,000 bytes the API downloads or when the server stopped sending, and the partial data does not decode. The message gives the share of the width cut as (1 − height ÷ width), rounded to a whole percent.

What it does to a shared link

X's Cards documentation, since withdrawn, described the summary card as cropping to about 1:1, so that share of the image's width would be cut from the card. A page with no twitter:card is judged here as a summary card; aspect.off-target judges the same page against the summary_large_image target.

How to fix it

  1. Set twitter:card to summary_large_image; this clears the check. If the image is narrower than 1.66:1 or wider than 2.16:1, also export it at 1200×630 px so it meets that card's target.
  2. Or export the image narrower than 1.5:1, for example square at 600×600 px for a summary card.
  3. To have the API report which side holds detail, serve the image as PNG or JPEG, under 2,500,000 bytes and no more than 25 million pixels; the result then becomes crop.safe or crop.detail-at-edge.
  4. Keeping the subject, text and logo inside the centred square whose width equals the image's height keeps them in the cropped card, but does not clear this check.
<meta name="twitter:card" content="summary_large_image"> <meta property="og:image" content="https://example.com/card.png">

Related checks

Sources