OG image

Laying out the card…
Size1200 × 630
Weight
Deepest crop15 px
LegibilityReads

OG Image Generator

The picture that appears when someone pastes your link into Slack, X, or a group chat. Designing one at full size is the easy part — the failure nobody catches is that a card built at 1200 pixels wide is drawn at 400, where a headline set at 48px arrives at 16 and is skipped. This shows the card at the two shapes destinations display and at the three widths they draw it, so both failures are visible before you ship the tag.

The one size that works
1200×630
Destinations previewed
6
PNG against JPEG here
14×
Bytes uploaded
0

Step by step

How to use it

  1. 01Write the card, not the design

    An eyebrow, a headline, a description, a site name. The headline is clamped to three lines and the description to two, because a card that overflows its own box is the most common way these go wrong.

  2. 02Check the crop

    Facebook, LinkedIn, Slack, Discord and iMessage show 1.91:1 as-is. X's large summary card is 2:1 and trims a band off the top and bottom. Each destination is previewed at the shape it uses.

  3. 03Check the size it is really drawn at

    The ledger converts your headline size to what it becomes at three feed widths. This is the number that decides whether anyone reads the card, and it is the one no other generator reports.

  4. 04Take the PNG and the tags

    The image, plus the six meta tags it is useless without — including og:image:width and og:image:height, whose absence is why a correct image sometimes still unfurls small.

Worked example

Why a 48px headline disappears

A card is authored at 1200 pixels wide and never displayed at that size. Everything else follows from the ratio between the two.

Given

Card
1200 × 630
Headline
48px as authored
Variable
the width it is drawn at

Authored size against rendered size

550px wide   ×0.46   →  22px   comfortable
400px wide   ×0.33   →  16px   readable, not inviting
300px wide   ×0.25   →  12px   at the floor
220px wide   ×0.18   →   9px   decoration
Safe floor
72px authored
Workable
56px authored
Too small
under 48px

Multiply the authored size by a quarter and you have what a narrow feed shows. That is the number to design against: a headline needs to survive at 300 pixels of card width, which puts the practical floor at roughly 56 pixels authored and makes 72 a comfortable default. Designers used to print or to web layout consistently set this two sizes too small, because at 1200 pixels on a large screen a 48px headline looks enormous.

Before you ship the tag

What to know about Open Graph images

1200 × 630 is the one size worth having

The 1.91:1 ratio originated with Facebook's large link card and was adopted by LinkedIn, Slack, Discord, WhatsApp and X. A single asset at that size renders correctly everywhere, and maintaining per-platform variants buys nothing but drift.

X is the only common destination that crops

X's summary_large_image card displays at 2:1, so a 1.91:1 asset loses a shallow band from the top and bottom. It is small enough that a card with normal padding never notices — and large enough to take the descender off a headline pushed to the edge.

Rendered width is the number that matters

Platforms publish the size to upload and never the width they draw it at, because that moves with window size, column layout and every redesign. Somewhere between 300 and 550 pixels covers the range, and a headline has to survive the bottom of it.

Declare the width and height in the tags

Without og:image:width and og:image:height, a scraper that has not yet fetched the image does not know its shape, and several will fall back to a small thumbnail on first encounter. The two tags cost nothing and remove that failure entirely.

A gradient card should not be a PNG

PNG is lossless, so a smooth gradient costs it dearly: the default card here is 654 KB as PNG and 45 KB as JPEG at quality 0.9 — fourteen times smaller, with no difference visible at any width a feed draws it. Keep PNG for flat colour and hard-edged type, and only then.

Text in the image is not text to a machine

A headline drawn into a picture is invisible to search engines, screen readers, and anyone with images disabled. The og:title and og:description tags are what those read, so the card should repeat the title rather than replace it.

The judgement call

How big should the headline be?

Authored size, and what it survives.

  • A short headline, five words or fewer

    80–96px

    Short copy can afford the size, and it still reads at 300 pixels of card width.

  • A full sentence headline

    64–72px

    Two or three clamped lines at a size that survives the narrow case. The safest general answer.

  • A long title you cannot cut

    56px

    The floor. Below this a narrow feed drops it under 11 pixels and readers skip the card entirely.

  • A title longer than three lines at 56px

    Rewrite the title

    The card clamps and ellipsises it. A cut headline reads as a broken page, not a long one.

  • A card that is mostly a logo

    Any size

    A mark survives scaling in a way type does not. The legibility check only governs the headline.

  • Anything under 48px

    Too small

    It looks generous on a 1200-pixel canvas and arrives at 12 pixels in a feed. This is the most common mistake in OG design.

Reference

The numbers behind the card

Asset size
1200 × 630 (1.91:1)Works on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage and X. LinkedIn documents 1200 × 627; the three-pixel difference is invisible.
Safe zone
1080 × 600 centredThe region every destination shows once X's 2:1 crop is accounted for. The templates inset their type by 72px, which clears it.
X's crop
2:1The only common destination that reframes a 1.91:1 asset. It takes a shallow band from the top and bottom.
Legibility floor
11px renderedRoughly where a bold sans headline in a feed stops being read and becomes texture.
Weight
Under 1 MBFacebook's hard ceiling is 8 MB. The lower target is about how fast the preview appears on a phone, not whether it is accepted.
PNG against JPEG
654 KB against 45 KBMeasured on the default gradient card. Both formats are encoded live so the choice is made against real numbers rather than a rule of thumb.
Layout engine
satori, in your browserA flexbox subset — no grid, no calc, no pseudo-elements. The preview is the exported file rather than a mock-up of it.

FAQ

Questions, answered plainly

What size should an OG image be in 2026?

1200 × 630 pixels, a 1.91:1 ratio. That single asset renders correctly on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage and X, and keeping per-platform variants buys nothing. Declare the dimensions in og:image:width and og:image:height as well, or a scraper that has not yet fetched the file may fall back to a small thumbnail.

Why is the text on my OG image too small to read?

Because it was designed at 1200 pixels wide and is displayed at roughly 300 to 550. A headline set at 48px on the canvas arrives at about 12px in a narrow feed, which readers skip. Design against the narrow case: around 72px authored is a comfortable default, and 56px is the practical floor.

Does X crop Open Graph images?

Yes, slightly. X's summary_large_image card displays at 2:1 while the standard OG asset is 1.91:1, so a shallow band is trimmed from the top and bottom. It is small enough that a card with normal padding is unaffected, which is why 1200 × 630 remains the right size to upload rather than making a separate one for X.

How large can an OG image file be?

Facebook documents a ceiling of 8 MB, but the practical target is under 1 MB. The image is fetched before the preview can be drawn, often on a phone over a mobile connection, so file size decides whether the card unfurls immediately or arrives well after the message it belongs to.

Should an OG image be a PNG or a JPEG?

JPEG, for almost any card with a gradient or a photograph behind it. PNG is lossless and pays heavily for smooth tonal change — the default card in the Tinapps OG image generator measures 654 KB as PNG against 45 KB as JPEG at quality 0.9, with no visible difference at the width a feed draws it. Reserve PNG for flat colour and hard-edged type.

Do I still need og:title and og:description if the text is in the image?

Yes. Text drawn into an OG image is invisible to search engines, screen readers, and anyone browsing with images off — the og:title and og:description tags are what those read, and several platforms display them beside the picture. Repeat the headline in the tags rather than treating the image as a substitute.

Does this OG image generator upload my design?

No. The Tinapps OG image generator lays the card out with satori running in your browser and rasterises it on a canvas in the page, so your copy, colours and logo are never sent anywhere. That also means it keeps working with the network disconnected once a typeface has loaded.

The card is laid out and rasterised entirely in your browser. Copy, colours, and any logo you add are never uploaded.

All design toolsTinapps homeFree · no account · nothing leaves your browser