/ โ† Open Graph Fixes / OG Image Size
In this guide
  1. What "wrong size" actually means
  2. The shapes platforms expect
  3. Designing for the crop: the safe centre
  4. Finding out what size the image really is
  5. Where the size is set on common platforms
  6. The fix, step by step
  7. Correct image markup
  8. Edge cases and awkward situations
  9. Keeping share images the right size
  10. Questions and answers

What "wrong size" actually means

An Open Graph image can be wrong in three separate ways, and the generator's finding does not always tell you which one you have. Each looks different in a feed and each has a different fix.

File weight, meaning how many kilobytes the image uses, is a related but separate problem. A heavy file can time out while a platform fetches it, but a light file of the wrong proportions still crops badly. Compression and formats for page images are covered in the image file size guide; this page stays with pixels and proportions.

๐Ÿ’ก The shape of the image matters more than the exact number of pixels. A 1600 by 838 image and a 1200 by 628 image are the same shape and crop the same way; a 1200 by 1200 image does not.

The shapes platforms expect

Almost every large link card in use today is a wide landscape rectangle close to 1.91 to 1, which is where the familiar 1200 by 630 figure comes from. X's large card is a little wider at 2 to 1. Chat apps vary more, and some show a small square or rounded thumbnail in certain views. Platforms change their layouts without notice, so treat the figures below as the current published guidance and common practice rather than fixed rules, and check each platform's own developer documentation if a specific limit matters to you.

Where the link is sharedCard shape for a large imageWhat happens to a small or odd-shaped image
FacebookAbout 1.91:1; Meta's sharing guidance has long pointed to 1200 by 630Smaller images can be shown as a small thumbnail beside the text; very small ones may be ignored
LinkedInAbout 1.91:1; LinkedIn's guidance has long quoted 1200 by 627Images that are too small can appear as a thumbnail or not at all
X, with summary_large_image2:1; X documents a minimum of 300 by 157Other shapes are cropped to fit the 2:1 frame
X, with summary1:1 square thumbnail; minimum 144 by 144A wide image is cropped to a square from the centre
Slack, Discord, TeamsWide image under the text when the image is large enoughSmaller images shown as a thumbnail at the side
WhatsApp, iMessage and similarVaries by app, view and device; often a wide image, sometimes a small squareSquare crops from the centre are common in compact views

The practical conclusion is that one landscape image at 1200 by 630, or any larger image of the same shape, is accepted by all of them. The difference between 1.91:1 and 2:1 is small: on X roughly 15 pixels of height are trimmed from the top and bottom of a 1200 by 630 image, which is harmless if nothing important sits right at the edge.

Bigger is fine, within reason

Some sites export at 2400 by 1260 so the card is sharp on high-density screens. That is the same shape and works, but it quadruples the pixel count and usually the file weight, which makes the image slower to fetch. If you go larger, compress the result carefully. X documents a maximum of 4096 by 4096 pixels and 5 MB for card images; other platforms publish their own limits and rarely need anything near them.

Designing for the crop: the safe centre

Because one image goes to many platforms, design it so that the parts which matter survive every crop you are likely to meet. The simplest method is to work on a 1200 by 630 canvas and mark three guide boxes.

  1. The full frame, 1200 by 630. This is what Facebook, LinkedIn and most chat apps show in a large card. Background colour or photography can run to every edge.
  2. The 2:1 frame, 1200 by 600, centred. This is roughly what X's large card keeps. Keep text at least 15 pixels in from the top and bottom edges so it survives.
  3. The square, 630 by 630, centred. This is what a square thumbnail keeps. If the page's image is shown small or square anywhere, only this middle area appears. Put the main subject or a short headline here.

Beyond the crop, remember the scale. A large card in a phone feed is often shown at about a third of its real width, and a thumbnail is far smaller still. Body text in the image becomes unreadable. Use a few large words at most, high contrast between text and background, and no small print such as terms, prices with footnotes or web addresses in a thin font.

โš ๏ธ Some platforms overlay their own elements on the card, such as a play button for video, the domain name or rounded corners. Avoid placing a logo or a key word tight in a corner, where it is most likely to be covered or trimmed.

When the image is a photograph

For photography, choose a crop where the subject sits in the middle third. A product photographed on a white background in a square frame is a common problem: placed on a 1200 by 630 canvas, it needs padding on both sides rather than stretching, which distorts it, or cropping, which cuts the product. Extend the background colour to fill the width and keep the product centred.

Finding out what size the image really is

Start with the address the page declares, not the file you think you uploaded. Content management systems and image services often serve a resized copy, and a plugin may choose a thumbnail size rather than the original.

curl -s https://example.co.uk/guides/boiler-servicing | grep -io '<meta[^>]*og:image[^>]*>'

That prints every og:image line in the HTML the server sends, including the width and height the page claims. Then download the image and measure it:

curl -s -o share.jpg "https://example.co.uk/wp-content/uploads/boiler-service-card.jpg"
identify share.jpg
# share.jpg JPEG 1200x630 1200x630+0+0 8-bit sRGB 118KB

The identify command comes with ImageMagick. Without it, open the image address in a browser tab and hover over the tab or use the developer tools, where the image's natural size is shown in the network panel preview. Compare three numbers: the size the page declares, the size of the file actually served, and the shape you intended.

What you findWhat it meansWhere to fix it
Served file is 150 or 300 pixels wideA thumbnail size is being used as the share imageThe SEO plugin, theme or template that picks the image size
Served file is square or portraitA featured image or product photo of the wrong shapeUpload a separate landscape share image for that page
Declared size differs from served sizeWidth and height are hard-coded, or taken from the wrong imageThe template that prints og:image:width and og:image:height
Several og:image tags with sizes in the wrong orderDimensions attached to the wrong imageRemove duplicates so one tag block is printed
Image is huge, such as 6000 by 4000An original camera file is linked directlyExport a card-sized version

If an image service adds resize parameters to the address, such as ?w=300, the file you download is the resized one, and that is exactly what platforms receive too.

Where the size is set on common platforms

WordPress

SEO plugins normally use the featured image, or a social image you set in the post's social tab, and WordPress may serve one of its generated sizes rather than the full upload. If the served image is small, upload a separate share image at 1200 by 630 in the plugin's social settings for that post, and set a site-wide default of the same size for pages with none. Detailed plugin settings are in Open Graph in WordPress.

Shopify

Most themes use the product's first image or the collection image as the share image, and product photography is often square. The theme's social sharing image setting controls the fallback for other pages. For products that matter, consider a dedicated landscape image rather than relying on a square packshot being cropped.

Next.js and other frameworks

A generated image route lets you set the exact canvas size in code, which removes the guesswork, as long as the declared size matches what the route draws. See Open Graph in Next.js for how the framework declares width and height for you.

Hand-built and static sites

Keep a template file for the share image in your design tool with the three guide boxes already drawn, export every card from it, and store the width and height alongside the image path in whatever data drives the page head, so they are never typed by hand.

The fix, step by step

Step 1

Measure the image the page really declares

Run the page through the OG / Twitter Tag Generator and note the image address it reports and any warning about the image. Then fetch the page HTML with curl, copy the og:image address, download that exact file and measure it with an image tool. Write down the declared width and height, the real width and height, and whether the shape is landscape, square or portrait, because the fix depends on which of those is wrong.

Step 2

Choose one landscape master size

Pick 1200 by 630 pixels as the canvas for every share image on the site, or a larger size with the same 1.91 to 1 proportion if you want extra sharpness on high-density screens. One consistent shape means every platform gets an image it can show as a large card, and your design team only has to maintain a single template. Avoid square or portrait canvases for general pages, even if your main photography is square.

Step 3

Keep the important content in the safe centre

Draw guides for a centred 1200 by 600 frame and a centred 630 by 630 square on the canvas. Put any headline and the main subject inside the square, keep a logo well away from the corners, and let only background or decoration run to the edges. Use a few large words in a heavy weight with strong contrast, because most people will see the card at a fraction of its real size on a phone.

Step 4

Export at the exact pixel size

Export the card as a JPG for photographs or a PNG for flat graphics and text, at exactly the canvas size you chose, with no automatic resizing by your content management system. Give each new card a new file name, such as boiler-service-card-1200x630.jpg, so platforms and caches do not confuse it with an older image. Check the exported file with an image tool before uploading, and keep its weight modest so it downloads quickly.

Step 5

Declare width, height and alt text truthfully

Directly after the og:image tag, add og:image:width and og:image:height with the real pixel size of the served file, plus og:image:alt describing what the image shows. Take these values from the image itself or from your template data rather than typing them by hand, and make sure only one set of image tags is printed. A declared size that does not match the file is worse than none.

Step 6

Set the card type that matches the shape

Add twitter:card with the value summary_large_image so X, and the chat apps that read the same tag, show the landscape image at full width rather than as a small square. Only use the plain summary value if you deliberately want a square thumbnail, and in that case supply a separate square image with twitter:image, because a wide card cropped to a square usually loses its text.

Step 7

Recheck the card and refresh old shares

Run the page through the generator again and confirm the image address, declared size and card type are all correct. Purge your own page and CDN cache, then use the Facebook Sharing Debugger and LinkedIn Post Inspector to fetch the page again, because both keep the image they saw last time. Post a test link in a private chat to confirm the crop looks right on a phone.

Correct image markup

The structured image properties describe the og:image tag directly above them, so order matters. This is a complete, correctly ordered image block for one landscape card:

<meta property="og:image" content="https://example.co.uk/images/cards/boiler-service-card-1200x630.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="An engineer checking the pressure gauge on a wall-mounted boiler">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image:alt" content="An engineer checking the pressure gauge on a wall-mounted boiler">

A few points about this block:

A square image as well

If you want a proper square image for places that show one, you can list it second. Platforms that support multiple images may pick the one that fits; many simply use the first. It is a small gain, and only worth the effort for pages that are shared heavily in chat apps.

<meta property="og:image" content="https://example.co.uk/images/cards/boiler-service-card-1200x630.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image" content="https://example.co.uk/images/cards/boiler-service-square-600.jpg">
<meta property="og:image:width" content="600">
<meta property="og:image:height" content="600">

Edge cases and awkward situations

Keeping share images the right size

Questions and answers

1. What is the best size for an Open Graph image?

1200 by 630 pixels is the size most sites use and the one that works across Facebook, LinkedIn, X, Slack and most chat apps. It is a landscape rectangle with a ratio of about 1.91 to 1. A larger image with the same proportions, such as 2400 by 1260, also works and looks sharper on high-density screens, but it is slower to fetch. What matters most is keeping the same wide shape and keeping important content in the centre.

2. Why is my link showing a small thumbnail instead of a large image?

Usually because the image is below the width a platform needs for a large card, or because it is square rather than landscape. Platforms that receive a small or square image often show it as a thumbnail beside the text instead. On X, it can also be because twitter:card is missing or set to summary rather than summary_large_image. Measure the file the page actually serves, since a plugin may be sending a small thumbnail size rather than the original upload.

3. Why does my headline get cut off in the preview?

Because the platform is cropping your image to fit its card, and it crops from the centre. This happens when the image is not the expected landscape shape, when X trims a 1.91 to 1 image to its 2 to 1 frame, or when an app shows a square thumbnail. Keep headlines and logos inside a centred square area, and well away from the top, bottom and corners, so they survive whichever crop is applied.

4. Do I need og:image:width and og:image:height?

They are optional in the Open Graph protocol, but worth adding. When a link is shared for the first time, some platforms use the declared size to lay out the card straight away instead of waiting to download and measure the image, so the preview appears correctly on the very first share. The values must be the real pixel size of the file served. Declaring 1200 by 630 for a square image can cause a distorted or badly cropped first render.

5. Can I use one image for Facebook, LinkedIn and X?

Yes. Facebook and LinkedIn both use a card of about 1.91 to 1, and X large cards use 2 to 1, which is close enough that one 1200 by 630 image works on all three with only a slight trim on X. Set twitter:card to summary_large_image and let X fall back to og:image rather than supplying a second address. You only need a separate image if you want a square version or different wording for one platform.

6. Is there a minimum size for an og:image?

Each platform sets its own and they change from time to time. X documents a minimum of 300 by 157 for large cards and 144 by 144 for the small summary card, and Meta has long described 200 by 200 as the smallest image Facebook will use at all. Meeting a minimum only gets you a thumbnail on some platforms, though. For a large card everywhere, aim for 1200 pixels wide in the landscape shape and treat small sizes as a failure.

7. Should a square product photo be used as the share image?

It works, but not well. Platforms will crop a square photo to a wide rectangle, cutting the top and bottom of the product, or show it as a small thumbnail. A better option is a landscape card at 1200 by 630 with the product photo centred on a matching background colour, so nothing is cropped and the card fills the space. For shops with many products, a template that places each packshot on a standard background does this automatically.

Check your share image block

The OG / Twitter Tag Generator builds the Open Graph and X card tags for your page, validates them against the requirements of Facebook, LinkedIn and X, predicts how the preview will render and flags image tags that are missing or invalid.

Open Open Graph Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Open Graph Fixes  ·  Open Graph Guide  ·  Fixing X (Twitter) Card Tags  ·  Fixing Image File Size  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.