If you only ever make one share image, make it 1200 x 630. It is the size Facebook documents, the size Slack and Discord expect, and the size X and LinkedIn crop from without embarrassing you. Everything below is for the cases where one image is not enough.
The one number to remember
1200 x 630 is a 1.91:1 rectangle. It is large enough that a platform downscaling it stays sharp on a high density screen, and small enough to stay well under every file size cap.
Two things about it are worth internalising:
- It is a maximum, not a target. Nothing forces you to fill it edge to edge with content. The edges are the first thing to be cropped.
- It gets rendered small. A Slack unfurl is a few hundred pixels wide. WhatsApp is smaller. Design for the thumbnail, not for the file.
Every platform, one table
| Platform | Size | Ratio | What actually happens |
|---|---|---|---|
| 1200 x 630 | 1.91:1 | The reference implementation. Crops the sides on mobile | |
| X (Twitter) | 1200 x 600 | 2:1 | Needs summary_large_image, or you get a small square |
| 1200 x 627 | 1.91:1 | Three pixels shorter than Facebook. Nobody will notice | |
| Slack | 1200 x 630 | 1.91:1 | Rounds the corners of the unfurl |
| Discord | 1200 x 630 | 1.91:1 | Large preview needs summary_large_image too |
| 1200 x 630 | 1.91:1 | Renders very small. Headline only | |
| iMessage | 1200 x 630 | 1.91:1 | Very small, and heavily rounded |
| Instagram feed | 1080 x 1080 | 1:1 | Uploaded, not crawled |
| Instagram story | 1080 x 1920 | 9:16 | Keep clear of the top and bottom 15% |
| TikTok | 1080 x 1920 | 9:16 | Same interface margins as stories |
| 1080 x 1350 | 4:5 | Tall pins hold more feed height | |
| Email header | 1200 x 400 | 3:1 | Short, so it does not push the copy below the fold |
A single 1200 x 630 file covers the first seven rows. The last five are different shapes, not different sizes, so they need their own export rather than a resize.
The safe zone
Platforms crop differently and none of them publish the exact rectangle they keep. What survives everywhere is roughly the middle 87%, which on a 1200 x 630 canvas is about 1040 x 546.
Practical version of that rule:
- Keep the headline, the logo and anything you need read inside that middle rectangle.
- Treat the outer band as decoration only. Gradients, texture and bleed artwork live there.
- Never put text in a corner. Corners go first, and rounded unfurls eat them twice.
Aspect ratio beats pixel count
A 2400 x 1260 image and a 1200 x 630 image look identical after a platform is done with them, because both are 1.91:1 and both get downscaled. Doubling the pixels only doubles the file size.
Where the extra resolution does pay off is text weight. If your headline is thin or small, exporting at 2x and letting the platform downscale gives visibly cleaner edges than exporting at 1x. That is the one good reason to ship a larger file.
File size and format
- Stay under 5 MB. Several platforms refuse anything larger, and a crawler that times out mid-download records a failure rather than retrying.
- PNG for text, flat colour and screenshots. It keeps type crisp.
- JPEG for photographs and heavy gradients, where PNG gets large for no visual gain.
- WebP is the smallest and is read by every current platform.
Aim for well under 1 MB. A typical 1200 x 630 card with type and flat colour lands between 40 and 200 KB.
Declaring the size in your tags
Telling the platform the dimensions up front lets it reserve the right space before the file finishes downloading, which removes a layout shift in the preview.
<meta property="og:image" content="https://example.com/og/launch.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Ship faster with better previews" />og:image:alt is the one people skip. It is what a screen reader announces in place of the card, and it costs one line.
Which sizes to actually export
For most sites, two files:
- 1200 x 630 for every link unfurl, which is the one referenced from
og:image. - 1080 x 1080 if you also post to an Instagram or LinkedIn feed.
Add 1080 x 1920 only if you publish stories. Anything more is a shape you are not actually shipping to, and each extra export is another file to keep in sync when the headline changes.
Every size in the table above is one click in the OG image generator. Type the headline once and export the shapes you need, free and with no account.