The X (Twitter) card image size
A large image link card on X (the summary_large_image card) uses a 2:1 image: at least 300 x 157 pixels, at most 4096 x 4096, under 5 MB, in JPG, PNG, WebP or GIF (only the first frame of a GIF is used). 1200 x 600 is a safe size to export.
How to make a good X (Twitter) card image
X falls back to your og:image when there is no twitter:image tag, so a 1200 x 630 Open Graph image is cropped slightly at the top and bottom. Keep text away from those edges, or set a separate 2:1 image.
Questions
What size is a X (Twitter) card image?
A large image link card on X (the summary_large_image card) uses a 2:1 image: at least 300 x 157 pixels, at most 4096 x 4096, under 5 MB, in JPG, PNG, WebP or GIF (only the first frame of a GIF is used).
Does X use the Open Graph image?
Yes, when the page has no twitter:image tag. The 1.91:1 image is then cropped to fit the 2:1 card.
Is my image uploaded anywhere?
No. The image is read and resized in your browser; nothing is sent to a server.
How does the resize work?
It scales the image to cover the target size and crops the overflow evenly from the edges, so nothing is stretched.