Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To make an image appear in a shared link card, add Open Graph tags to the page’s <head>, especially og:image. Point that tag to an absolute, publicly reachable image URL, then test the page with the platform’s inspector. The tags are a preference, not a guarantee: each service can apply its own image rules, crawler behavior and cache.

What creates a website link preview image?

A link preview is assembled by the service receiving the URL. Its crawler requests your page, reads metadata in the HTML head, fetches the declared image and builds a card. Open Graph defines four basic properties for a page:

Property Purpose Required by the Open Graph protocol
og:title The headline shown for the shared page. Yes
og:type The kind of object, commonly website for a normal page. Yes
og:image The image URL the card should use. Yes
og:url The canonical URL for the object. Yes
og:description A short summary used when the platform displays one. No, but generally recommended

For an image, you can also provide structured properties such as MIME type, width, height, a secure URL and alternative text. Put the tags in the document’s HTML <head>, not in visible page content.

Add the Open Graph tags

Use a minimal, valid head

Replace the example values with the title, canonical URL and image that belong to the page being shared.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
HTML and CSS: Design and Build Websites
  • HTML CSS Design and Build Web Sites
  • Comes with secure packaging
  • It can be a gift option
<head>
  <meta property="og:title" content="A clear page title">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://example.com/page">
  <meta property="og:image" content="https://example.com/images/page-share.jpg">
  <meta property="og:description" content="A short description of this page.">
  <meta property="og:image:alt" content="A concise description of the preview image">
</head>

The image URL should be absolute, use the intended file, and be reachable without a login or other access control. HTTPS is the safest default for both the page and image. If you publish more than one og:image, the first value takes preference when a conflict exists, so put your preferred image first.

Add optional image details when they are known

These tags can help a consumer understand the asset:

<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="627">
<meta property="og:image:secure_url" content="https://example.com/images/page-share.jpg">

They do not override a platform’s own limits. Keep the values consistent with the actual file; declaring a width that the file does not have will not enlarge it.

Choose an image that survives different cards

Make it representative

Use a high-resolution image that clearly represents the page. A relevant article illustration, product view or branded feature image is more useful than a generic site logo. Keep important text and subjects away from the edges because cards may crop the image.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Meet the documented LinkedIn limits

LinkedIn’s published sharing guidance is specific to LinkedIn, not a universal rule for every service. It states the following values:

LinkedIn guidance Value
Minimum dimensions 1200 × 627 pixels
Recommended aspect ratio 1.91:1
Maximum file size 5 MB
Display below 401 pixels wide Thumbnail treatment

LinkedIn’s help page carries an older update notice, so verify the current limits before designing a campaign asset. Other platforms may use different dimensions, file limits, crops or supported metadata. When several destinations matter, compare each destination’s current documentation rather than treating LinkedIn’s numbers as a cross-platform specification.

Install the tags in common site setups

Static HTML

  1. Open the template for the page.
  2. Insert the Open Graph block between <head> and </head>.
  3. Deploy the page and confirm that the production URL, not a staging URL, appears in og:url.

CMS or site builder

Use the page’s social-sharing or SEO fields if they output Open Graph tags into the server-rendered head. If the system offers both a site-wide default and a per-page override, set a default image and replace it for pages that need a specific image. View the published page source afterward; an editor preview alone does not prove that the crawler receives the tags.

Server-rendered and JavaScript applications

Ensure the initial HTML response already contains the metadata. A crawler that does not execute your application’s JavaScript may never see tags inserted after hydration. If your framework has a head or metadata API, use it to emit the values during server rendering and verify the final response with an HTTP client or “view source.”

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the page before sharing it

  1. Inspect the raw head. Search the production HTML for og:title, og:type, og:url and og:image. Check for duplicate tags or a staging URL left in the template.
  2. Open the image URL directly. It should return the image without authentication, a private-network restriction or a blocking rule. Confirm the response is the intended image and not an HTML error page.
  3. Check suitability. Confirm that the image is relevant and, for LinkedIn, at least 1200 × 627 pixels and no larger than 5 MB according to its published guidance.
  4. Use the destination’s inspector. A platform sharing debugger can show the tags and the card its crawler assembled. A browser-based checker such as OG Preview can inspect Facebook, X and LinkedIn, but its URL-fetch feature sends the submitted address through an external third-party proxy. Do not submit URLs containing private tokens, credentials or personal data.
  5. Test a clean public URL. Private previews, authentication gates and IP allowlists can make a page work in your browser while remaining unreachable to a platform crawler.

Troubleshoot a missing or incorrect image

Symptom Likely cause Fix
No image and no title The basic tags are absent from the crawler-visible HTML. Inspect the raw response, add the four basic properties and redeploy the server-rendered head.
The old image still appears The destination has a cached card. Use that platform’s current cache-refresh or re-scrape workflow. There is no single refresh procedure that applies to every service.
The wrong image appears A duplicate og:image, an incorrect template value or an automatically selected image. Remove unintended duplicates, place the preferred image first and verify the exact production HTML.
The image works in a browser but not in a card The crawler cannot fetch it because it is protected, blocked or returning an error. Open the image without credentials, check access rules and confirm that the URL returns the image file directly.
A thumbnail appears on LinkedIn The image is under 401 pixels wide. Provide a larger asset; LinkedIn publishes 1200 × 627 pixels as its minimum guidance.
The image is rejected by LinkedIn The file exceeds LinkedIn’s 5 MB limit or does not meet its documented dimensions. Resize or recompress the file while preserving the important content.
Google shows another image Google selects images automatically on its Search surfaces. Use a relevant, representative, high-resolution image and valid metadata, but do not assume og:image forces Google to display it.

Generate a reliable share image when you do not already have one

You can design a static JPG, PNG or WebP in an image editor, or render a dedicated share-image page. A dedicated page lets you control the headline, brand colors and crop independently of the article layout. Whichever method you use, host the resulting file at a stable public URL and place that URL in og:image.

Rank #4
Sale
Web Design with HTML, CSS, JavaScript and jQuery Set
  • Brand: Wiley
  • Set of 2 Volumes
  • A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers

For rendered pages, test loading states, consent dialogs, chat bubbles and responsive breakpoints. A screenshot taken before fonts or lazy images finish loading can become a poor social card. Keep the final asset within the destination’s file-size and dimension rules, and retain the source image so you can revise it without changing the page metadata structure.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo can render a URL into a PNG, JPEG, WebP or PDF through one GET request. It is useful when you need a consistent image from a page instead of maintaining browser automation yourself. Before capture, it accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and each response identifies the result with X-Page-Verdict and X-Billed headers.

Use the API documentation at https://screenshotneo.com/docs/ for the full parameter list. This example captures a public page as WebP:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

The same request in Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

And in Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo supports full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets and arbitrary viewports, retina scale, custom CSS and JavaScript, clicks before capture, hidden selectors, waits for a selector, delay or network idle, ad/tracker/request/resource blocking, custom headers, cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, TTL-based caching, signed links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, a usage API and an OpenAPI specification. PDF output includes paper size, margins, landscape mode and page ranges. Parameter names used by other screenshot APIs also work, which can simplify a migration.

After the API returns the file, host it at a public image URL and use that URL as og:image. ScreenshotNeo does not replace the metadata step; it supplies the image asset. Its MCP server also exposes take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.

The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 screenshots; yearly billing gives two months free, and every feature is included on every plan. Create a free ScreenshotNeo account to generate the image without entering a card.

Keep the preview dependable after launch

  • Use a stable, canonical image URL and update the file deliberately when the artwork changes.
  • Monitor the production HTML after template or framework changes so tags are not removed during a build.
  • Keep important text inside the safe center of the composition to tolerate platform crops.
  • Recheck platform requirements periodically; documented limits and cache behavior can change.
  • Never place access tokens, signed private URLs or personal information in a URL submitted to a third-party preview checker.

Frequently Asked Questions

Can I use the same image for several pages?

Yes, when the image accurately represents each page. A page-specific image is usually clearer for readers, but Open Graph does not require a unique file per URL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does adding Open Graph metadata change the visible page?

No. These properties are metadata in the HTML head; visitors see them only indirectly through the cards created by services that read them.

Why can a card differ between two services even with identical tags?

Each service fetches and renders the page independently, applies its own crop and size rules, and may select images differently. The metadata expresses your preferred asset but cannot force identical output.

The Bottom Line

Publish a public, correctly sized image, declare it with og:image alongside the other basic Open Graph properties, and validate the production HTML and image URL with the destination’s inspector. If you need to render the asset automatically, ScreenshotNeo can produce it without maintaining browser setup.

Quick Recap

SaleBestseller No. 1
HTML and CSS: Design and Build Websites
HTML and CSS: Design and Build Websites
HTML CSS Design and Build Web Sites; Comes with secure packaging; It can be a gift option
$15.75
SaleBestseller No. 3
SaleBestseller No. 4
Web Design with HTML, CSS, JavaScript and jQuery Set
Web Design with HTML, CSS, JavaScript and jQuery Set
Brand: Wiley; Set of 2 Volumes
$35.05

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.