Twitter cards — sorry, X cards — are the silent first impression for almost every link you post. Get the card right and a 200-follower account can drive a thousand clicks from a single post. Get it wrong and the most viral hook in the world bottoms out at a 0.4% CTR because the preview underneath looks like a stretched stock photo with unreadable text.
This is the field guide I wish I had when I started shipping links on X. It's not a list of generic "make it pretty" tips. It's the exact dimensions, the headline rewrite trick, the canonical meta block to copy, and the five card-design mistakes that are still — in 2026 — costing founders most of their potential traffic. If you ship a link this week, do the 20-minute version of this checklist before you hit post.
An X card is the rich preview that appears under a tweet when you paste a link. X reads three Open Graph meta tags off your page (og:title, og:description, og:image) and one X-specific tag (twitter:card) and renders a card from those fields. Since late 2025 there are only two card types that still exist:
The legacy summary card with the small thumbnail was deprecated in late 2025. If you don't set twitter:card explicitly, X composes a fallback card from your title plus a giant grey placeholder. It looks broken, and a broken-looking card cuts CTR by roughly half compared to a properly designed one.
One image, one size, no exceptions:
1200 × 600 pixels for X (1200 × 630 also works — X crops 15px top and bottom). Aspect ratio 1.91:1. Under 5 MB. PNG or JPG.
If you only do one thing on this page: build a 1200 × 630 PNG, plug it into og:image, and set twitter:card to summary_large_image. That alone outperforms 80% of the cards in your feed right now.
| Spec | Value | Why it matters |
|---|---|---|
| Width × height | 1200 × 630 px | Matches Facebook + LinkedIn, X crops 15px top/bottom safely. |
| Aspect ratio | 1.91:1 | Outside this range, X falls back to a smaller card type. |
| File size | ≤ 5 MB (target ≤ 300 KB) | Big files delay first render — users scroll past before image loads. |
| Format | PNG or JPG (no WebP for cards) | X's card crawler still chokes on WebP as of Q1 2026. |
| Color mode | sRGB | P3 / Adobe RGB previews shift hue weirdly on Android X clients. |
Here's the move almost nobody does: your on-image headline should be different from your blog post title. Treat the card like a billboard. Billboards don't print SEO titles — they print hooks.
Take a real example. If your post title is "How to Make Twitter Cards Convert in 2026 — A Field Guide for Founders & Bloggers", that's 78 characters and zero room to breathe inside a 1200×630 canvas at a readable font size. The on-image version should be 5-7 words, set at 64-80px, that punches:
The full title still goes into og:title and twitter:title — those render as text underneath the image, so SEO and the punchy hook coexist. You're not picking one; you're using both.
This is the minimum viable head block for an X-card-ready blog post. Drop it in, swap the values, ship.
<meta property="og:title" content="Your headline (60-80 chars)">
<meta property="og:description" content="One or two sentences (140-200 chars).">
<meta property="og:image" content="https://yourdomain.com/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:type" content="article">
<meta property="og:url" content="https://yourdomain.com/post">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your headline">
<meta name="twitter:description" content="The same description, or a punchier one for X.">
Two non-obvious lines that punch above their weight: og:image:width and og:image:height. Telling X explicitly what dimensions to expect speeds up first render and, more importantly, prevents X from falling back to a smaller card layout when the crawler can't fetch the image fast enough on the first pass.
Eight pre-tested templates at exactly 1200 × 630, safe zones built in, contrast tested for X's dark and light themes. Free, no signup, downloads as PNG.
Try it free →X's mobile client crops 15px top and bottom of every image and adds a darkening gradient at the bottom edge for the username overlay. If your headline is centered vertically and your logo is bottom-center, the username overlay will eat the logo on iPhones in dark mode. Push critical content into the upper-left third of the canvas. The lower-right corner is dead space — design around it.
Hero images on most blog templates are 16:9 or 1600 × 600. They get squeezed into 1.91:1 and look stretched. Worse: hero images usually feature a single large object centered in the frame, which means after X's crop the subject's head is missing. Build a dedicated card image. Always.
X's card chrome is dark grey on dark mode and white on light mode. A card with a white background and white logo disappears in light mode — there's literally no edge between your card and the surrounding tweet UI. Always include either a dark background or a 2-3px border. Test in both themes before you ship.
X's card validator is the only reliable way to force X's crawler to re-fetch your meta tags. If you change the OG image and post a link without re-validating, X serves the cached old image for up to 7 days. Founders ship the new post, share the link, and watch the wrong card show up — or worse, no card at all because the cache holds a 404 from before the page existed. Validator first, post second.
If your card promotes a product with an affiliate component, the link in the tweet body matters as much as the card. X downranks links to known shorteners and link-cloakers — bit.ly and t.co (theirs!) included. Use a clean, branded short domain or a direct link. For domain registration affiliate links specifically, services like Namecheap's referral program and Cloudflare partner referrals issue clean tracking URLs that don't trigger the shortener penalty. Worth setting up correctly once instead of fighting reach forever.
Once your card is dialed in, here's the post template that I see consistently outperforming raw link-drops on X in 2026:
Putting the link in tweet 4 instead of tweet 1 roughly doubles click-through in my own data because the card lands on people who already opted into the thread. The card is the closer, not the opener.
Before you hit post on X, do this:
This whole loop takes less than two minutes. The penalty for skipping it is a dead post that nobody clicks because the card looks broken. The cost-benefit isn't close.
Eight templates, every one set to 1200 × 630 with safe-zone padding for X's mobile crop. Type your headline, pick a color, download a PNG. No signup, no watermark.
Open the OG Image Generator →Here's the thing that makes card design more valuable than you think: cards compound the same way email subject lines compound. Every link you've ever posted on X is still findable through search and through your profile's media tab. A well-designed card from six months ago can drive traffic next week if someone discovers the tweet. A broken card can't.
If you've got 50 historical posts on X with weak or broken cards, regenerating the OG images on those old blog posts is one of the highest-ROI weekend projects a small founder can do. The traffic uplift from making 50 archive links shareable usually outpaces three months of new SEO content. It's cheap, it's fast, and almost nobody does it — exactly the kind of edge that compounds.
Now: open the validator, fix the meta tags, generate the card, ship the post.