About this tool
Draw and download a summary or large-image card at the size X requires, and copy the matching twitter:card meta tags.
A Twitter (X) card image generator draws the preview image a link needs at exactly the dimensions the platform accepts, and writes the matching twitter:card meta tags. X supports two card types that still render a preview: the summary card, which takes a 1:1 image of at least 144 x 144 px, and summary_large_image, which takes a 2:1 image of at least 300 x 157 px; both cap at 4096 px per edge and 5 MB. Titles are cut at 70 characters and descriptions at 200, so the tool trims them for you and shows the count as you type.
Open Twitter Card Image Generator on AltFTool — it loads instantly in your browser.
Upload or drag in the file you want to work with.
Adjust the settings and preview the result.
Download the finished file to your device.
The canvas is created at the platform's recommended pixel size, so the export never needs resizing.
Character counters for title, description and alt text turn red the moment X would cut the text.
The image is drawn and downloaded locally — no upload, no account, no watermark.
For summary_large_image use a 2:1 image; 1200 x 600 px is exact and the widely used 1200 x 628 also renders fine. The minimum is 300 x 157 px. For the plain summary card use a 1:1 image, minimum 144 x 144 px, with 800 x 800 a safe choice. Both types cap at 4096 px on either edge and 5 MB, and accept JPG, PNG, WEBP and GIF.
70 characters. Anything longer is truncated in the rendered card, so put the important words first. The twitter:description field allows 200 characters and twitter:image:alt allows 420.
The usual causes are a missing or non-absolute twitter:image URL, an image below the minimum size, an image over 5 MB, a page that blocks the crawler in robots.txt, or a cached old version of the card. X caches card data, so a link shared before you fixed the tags can keep showing the old preview for some time.
Yes, keep both. X falls back to og:title, og:description and og:image when the matching twitter:* tag is absent, and other platforms such as LinkedIn, Slack and WhatsApp read Open Graph only. Note the attribute differs: twitter:* tags use name= while og:* tags use property=.