Skip to content

Craft Twitter/X Cards with AI

Sized for how X actually renders — palette tuned against the dark chrome, headline inset so the rounded-corner mask never clips it, aspect matched to the native summary format.

O
Oginify@oginify · 2h

Just shipped the X card generator. Paste any URL → 1200 × 675, summary_large_image, dark-mode safe.

X summary_large_image card example, 1200 × 675
oginify.com
summary_large_image1200×675 · 2:1

Built for the X timeline, not the OG fallback

Most cards on X are 1200 × 630 OG images that got letterboxed, dark-text-on-dark-bg invisible, or center-cropped through the headline. A purpose-built 1200 × 675 PNG is the cheapest fix.

Painted at native 2:1

Rendered directly at 1200 × 675 — the exact ratio X's summary_large_image renderer expects. No letterboxing, no auto-crop chopping your headline at the centerline of the timeline preview.

Tested against the dark feed

Every palette is QAed against X's dark chrome — the default mode for ~80% of the user base. No pure-black backgrounds that dissolve into the column, no thin gray text that fails WCAG AA at preview size.

Aware of the corner mask

X applies a rounded-corner mask plus a thin chrome border on every card. A 20 px inset keeps your headline, logo and key element clear of both — so nothing important sits in the pixels the timeline crops away.

Twitter Card example painted by Oginify, 2:1 ratio

For posts, replies and quote-tweets

X collapses any link without a valid summary_large_image card into a bare URL — no thumbnail, no headline, no domain badge. In a timeline scrolled with the thumb, that's the difference between a post that earns the click and one the algorithm buries. The fix is a 1200 × 675 PNG painted for the dark timeline and four meta tags wired into your head.

Use it for a launch tweet pointing at the homepage, a thread anchor linking back to a long-form article, a quote-tweet of a competitor where the card has to carry the argument, or a reply in a high-traffic thread where every pixel of preview matters. Oginify ships the PNG plus the meta tags — paste once, validates on the X Card Validator on the first try.

Oginify vs. DIY vs. other card builders.

Run it yourself with our MIT-licensed Agent Skill, let us paint the card for you, or compare against the generic builders.

Oginify
Managed SaaS
Satori / Resvg DIY
Open source
Online card builders
Generic tools
Output ratio1200 × 675 + 1200 × 630Whatever you templateOften only 1200 × 630
Brand matchAuto-detected from pageDIY with your tokensGeneric templates
Dark-mode safeTested on X darkYou verify itRarely
Edge-mask inset20px built-inManualNo
SetupPaste a URLnpx + fonts + edge runtimeSign up + manual editor
CostFree · $0.99 optional tipFree · MIT licensedFreemium or paid
Best forShip one X card right nowAgents, CI, content at scaleOne-off marketing cards
Generate nowView on GitHub

How to Generate Twitter Card Images With AI

Paste a URL. Oginify reads the page, paints a card composed for the X timeline, and hands you a 1200×675 PNG with ready-to-paste twitter:card meta tags.

  1. Step 1

    Paste Your Page URL

    Drop any live page in. We extract brand, headline, tone and palette — the same signals a good editorial designer would read before touching the canvas.

  2. Step 2

    We Paint for the X Timeline

    Composed against X dark chrome with a 20-pixel corner-mask inset, upper-60 percent safe zone, and headline weight tested at the real 506-pixel preview width.

  3. Step 3

    Ship the PNG and Meta Tags

    Download a 1200×675 PNG and paste the pre-filled twitter:card, twitter:image, twitter:title and twitter:description tags straight into your page's head.

Twitter Card FAQ

Everything about generating X (Twitter) card images with Oginify — sizes, tags, and how it differs from a regular Open Graph image.

Should I use 1200 × 675 or 1200 × 630?

Use 1200 × 675 (2:1) for X — that's the summary_large_image native ratio and avoids letterboxing on the timeline. Keep 1200 × 630 (1.91:1) as your og:image fallback for Facebook, LinkedIn, Slack, Discord, WhatsApp and iMessage. See the spec table above for the side-by-side.

Which meta tag should I set?

Set twitter:card to summary_large_image, then twitter:title, twitter:description and twitter:image pointing to the PNG Oginify gives you. If you only set og:image, X will fall back to it — but a dedicated 1200 × 675 image looks better.

Does this work for X in dark mode?

Yes. Every style is tested against X's dark-theme background. We avoid pure black backgrounds that disappear into the timeline, and we keep text contrast above WCAG AA at small previews.

Can I use the same image for OG and Twitter?

Yes — many sites do. The 1200 × 630 image will render on X (with slight letterboxing or crop). If you care about the exact framing, generate a dedicated 1200 × 675 here.

Oginify vs the open-source social-cards-skills — which do I pick?

Pick Oginify if you want to paste a URL and ship one X card right now. Pick social-cards-skills if you want to run the same engine inside Cursor, Claude Code, or your CI — at content scale. The comparison table above breaks down setup, brand match and cost for both, plus how each compares to generic online card builders.

Is the generator really free?

Yes. Same product, same engine, no account. The full Oginify pricing page explains the optional $0.99 supporter tip.

Stop Letting X Auto-Crop Your Headline

Paste any URL. Get back a 1200 × 675 PNG plus the four meta tags to drop into your <head> — sized so the timeline preview shows your card the way you composed it.