X (Twitter) image sizes for link cards
Last updated: September 20, 2026.
Size figures on this page are placeholders. They are not marked verified because we have not re-checked X (Twitter)’s current documentation.
X shows a large picture when a tweet contains a URL and the page includes Twitter Card tags (and usually Open Graph as a fallback). summary_large_image is the card type that matches a wide OG file. This page covers that card, not in-app photo posts you upload by hand. The pixel values below are placeholders we have not re-checked against X’s current documentation, so wait for the verified badge before you treat them as a vendor spec. A 1200-wide landscape PNG with a readable title still behaves better than a tiny logo. After you publish, use X’s card validator on the live URL; the app caches cards much like Facebook does.
Recommended X (Twitter) size
| Platform | Image type | Recommended size | Aspect ratio | Max file size |
|---|---|---|---|---|
| X (Twitter) | Summary large image | 1200 × 628 px | 1.91:1 | 5 MB |
Official page to re-check:https://docs.x.com/resources/fundamentals/cards/overview/markup
How X crops your image
Large summary cards are landscape. X may use a ratio close to 2:1 or to classic 1.91:1 depending on client and card type. That is why this site’s generator also offers a 1200×675 preset while the table still lists 1200×628 — both are working defaults, not verified vendor copy. Keep the headline in the middle band of the canvas so a slightly taller or shorter crop still reads.
summary (the small card) places a square thumbnail beside the title. If you only ship a wide OG file, X will crop the center of it for that thumbnail. Do not put the only logo in the left third if you also care about the compact card.
Player and app cards have their own rules. If your page is a normal article or landing URL, stay on summary_large_image plus og:image. Mixing twitter:image and og:image with different files makes debugging harder; use one artwork unless you have a reason to split them.
Three common X (Twitter) mistakes
Forgetting twitter:card
og:image alone is not always enough. Set twitter:card to summary_large_image and give twitter:image the same absolute https URL (or let the crawler fall back only after you have confirmed it works).
Using a 400-pixel-wide header graphic
A site banner that looks sharp in a browser tab is soft in a tweet. Start from 1200 pixels on the long side so the card is not upscaled.
Blocking the Twitterbot user agent
If robots.txt or a firewall sends Twitterbot elsewhere, the card stays empty. The image URL must return 200 without a login cookie.
Cards versus Open Graph
X invented Twitter Cards; Open Graph came from Facebook. Most article pages should emit both. Width and height tags help the crawler reserve space. Do not point twitter:image at a URL that redirects through a tracker that drops bots.
If the validator shows the right image and the live tweet does not, the tweet may have been composed before the scrape. Paste the URL in a new compose window after a successful validate. Changing tags on a URL that was already tweeted often needs a new path to bust cache.
Opens the generator with the X (Twitter) size preset selected. Nothing is uploaded.