LinkedIn Open Graph Image Size
LinkedIn recommends a 1200 × 627 px Open Graph image, a 1.91:1 ratio, and a 5 MB maximum for shared website links.
Use an image that is at least 1200 × 627 pixels, with a 1.91:1 aspect ratio, and no larger than 5 MB. These specifications apply to the image LinkedIn fetches for a shared website link, usually through your page’s og:image metadata. LinkedIn lists separate requirements for single-image ads, so do not use ad dimensions for a normal link preview. See LinkedIn’s official website-sharing guidance.
1. The correct LinkedIn Open Graph image size
| Requirement | Value |
|---|---|
| Minimum dimensions | 1200 × 627 pixels |
| Recommended ratio | 1.91:1 |
| Maximum file size | 5 MB |
| Use case | Website link sharing |
The 1200 × 627 figure is LinkedIn’s minimum for the sharing module. A 1200 × 630 image is close to the recommended shape and is commonly convenient for a design system, but 1200 × 627 is the precise figure stated in LinkedIn’s help guidance.
This image is normally supplied by the page’s Open Graph metadata. It is different from uploading a standalone image post and from creating a LinkedIn ad. LinkedIn’s help page gives different ad specifications; do not transfer those numbers to link previews.
2. Add the Open Graph tags to your page
Put these tags inside the page’s <head>. Use an absolute, publicly reachable URL for the image.
<meta property="og:title" content="Your page title">
<meta property="og:description" content="A concise description of the page.">
<meta property="og:image" content="https://example.com/images/linkedin-preview.jpg">
<meta property="og:url" content="https://example.com/articles/example">
LinkedIn’s official example identifies og:title, og:image, og:description, and og:url as the relevant tags. Keep the image URL stable and make sure it returns the image itself rather than an HTML page, redirect chain, login screen, or access-denied response.
Image design checklist
- Create the source at 1200 × 627 pixels or larger while preserving a 1.91:1 shape.
- Keep important text and faces away from the extreme edges because previews can be displayed at different sizes.
- Export a web-friendly JPEG, PNG, or WebP that remains under 5 MB.
- Use a descriptive filename and an HTTPS URL.
- Check the page’s source after deployment to confirm that the intended
og:imagevalue is present.
3. Generate and resize an image programmatically
If your design starts at another size, resize it to at least 1200 × 627 without stretching. The following ImageMagick command crops to the exact ratio and writes a JPEG:
magick source.png -resize "1200x627^" -gravity center -extent 1200x627 -strip -quality 85 linkedin-preview.jpg
Inspect the result before publishing:
identify linkedin-preview.jpg
stat -c '%n %s bytes' linkedin-preview.jpg
If the file is above 5 MB, lower JPEG quality, remove unnecessary metadata, or export WebP. Keep the final dimensions and ratio unchanged while reducing file size.
4. Capture a page for the preview image
When the Open Graph artwork is a rendered webpage or component, a screenshot service can create a consistent image at the required viewport and output size. For a local browser workflow, set the viewport to match the design, wait for fonts and images, capture the page, and then crop or resize the result to 1200 × 627.
Browser workflow considerations
- Set a viewport whose content has the same 1.91:1 composition.
- Wait for the page’s fonts, images, and data requests to finish.
- Hide cookie banners, chat bubbles, and other overlays before capture.
- Capture the intended section or full page, then export at 1200 × 627 or larger.
- Verify the output file size and that the public URL serves the image without authentication.
5. Why a correctly sized image may not appear
Dimensions alone do not guarantee a preview. LinkedIn must be able to retrieve the image and read the page metadata.
| Symptom | Likely cause | Fix |
|---|---|---|
| No image or an old image | The crawler cannot fetch the URL, or the page serves stale metadata. | Confirm the image URL is public, returns the image directly, and is not behind a login, protected directory, or restrictive network rule. Republish the page after correcting the tags. |
| Broken image icon | The URL returns an error, redirect loop, or unsupported response. | Request the URL without a browser session and inspect its HTTP status and Content-Type. |
| Image is cropped unexpectedly | The preview is being displayed at a different card size. | Keep key content centered and leave safe margins around text and faces. |
| Preview has the wrong title or description | Another tag, template, or cached page source is being used. | View the deployed HTML source and ensure only the intended Open Graph values are generated for that URL. |
| Image works locally but not online | The production URL is private, blocked, or not using HTTPS. | Test the production image URL from outside your network and remove access controls that prevent LinkedIn’s fetcher from reading it. |
LinkedIn specifically calls out blocked or protected image locations as reasons an otherwise compliant image may not appear. Its official material does not specify a guaranteed cache-refresh interval, so avoid promising a fixed wait time.
6. Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One request returns a PNG, JPEG, WebP, or PDF, so you can generate a preview image from a public page without maintaining browser automation. The API can capture full pages, wait for selectors or network idle, use custom CSS and JavaScript, hide selectors, choose a device or viewport, set a retina scale, and resize the result.
For an Open Graph workflow, its cleanup steps are useful: cookie and consent banners are accepted and removed before capture, along with more than 60 known consent platforms, newsletter popups, and chat widgets. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.
See the ScreenshotNeo API documentation for all options. This example captures a page you control; replace the URL with the page that should become your preview image.
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://example.com/article \
-o linkedin-preview.webp
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://example.com/article"},
timeout=90,
)
r.raise_for_status()
open("linkedin-preview.webp", "wb").write(r.content)
const q = new URLSearchParams({
access_key: 'YOUR_API_KEY',
url: 'https://example.com/article'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot failed: ${res.status}`);
const bytes = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('linkedin-preview.webp', bytes));
After capture, confirm the output is at least 1200 × 627, below 5 MB, and hosted at a public URL used by og:image. ScreenshotNeo also offers an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. Plans include 1,000 free screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.
7. Performance, reliability, and cost notes
- Keep the file small: a file well below 5 MB loads faster for crawlers and visitors. Strip metadata and choose an appropriate quality setting.
- Use a stable URL: changing the image URL whenever the page changes can make cache behavior harder to reason about. Change it deliberately when you need a new asset.
- Make generation deterministic: wait for fonts, images, and data before capturing. Use a fixed viewport and timezone when visual consistency matters.
- Protect your budget: cache generated images and set a cache TTL when using an API. ScreenshotNeo bills only clean shots; failed loads, bot checks, blank pages, timeouts, and cache hits are free.
- Handle failures: retry transient network errors with backoff, but do not publish a URL until the image can be fetched anonymously and returns the expected content type.
8. FAQ
Is 1200 × 630 acceptable?
It is very close to LinkedIn’s recommended shape, but the official share-module figure is a minimum of 1200 × 627 at a 1.91:1 ratio. Use 1200 × 627 when you want to follow the stated specification exactly.
Does this size apply to LinkedIn ads?
No. LinkedIn lists separate dimensions, formats, and ratios for single-image ads. The figures in this guide apply to website link sharing.
Where should the image URL be placed?
Put it in the page’s og:image tag as an absolute URL. The page should also define og:title, og:description, and og:url.
Why is my 1200 × 627 image missing?
Check that LinkedIn can retrieve the image from its public URL and that the file is not in a protected directory or behind authentication. Then inspect the deployed HTML for the intended metadata.
Can I use a screenshot as the Open Graph image?
Yes. Capture the page or component, export it at the required dimensions, keep it under 5 MB, and expose the resulting file through og:image.
Source: LinkedIn Help: Make your website shareable on LinkedIn.


