Make a 1200 × 630-pixel image, publish it at a publicly accessible HTTPS address, and point your page’s Open Graph metadata to it with og:image. Add matching title, description, and page URL tags in the HTML <head>. This gives social platforms the image and context they need to build a link preview; it does not guarantee that every platform will display an identical card.
What a social-sharing meta image does
A social-sharing image is a page’s preview artwork, usually selected through the Open Graph property og:image. When someone shares a page, a platform’s crawler can read metadata in the page’s HTML and use it to assemble a card with an image, title, description, and link.
The Open Graph protocol describes how a web page can become a rich object in a social graph. Its metadata describes the page and the image to use; it does not create the image file for you. You must design or generate the asset, make it fetchable, and publish metadata that points to it.
Choose an image size and format
A practical cross-platform starting point is 1200 × 630 pixels, approximately a 1.91:1 ratio. LinkedIn documents a 1.91:1 recommendation, a minimum of 1200 × 627 pixels, and a maximum file size of 5 MB. The 1200 × 630 default is close to that ratio and gives you a convenient landscape canvas, but it is not a guarantee that every service has the same requirements.
#1 Best Overall
- PNG: Useful for crisp text, logos, and graphic elements; file sizes can be larger.
- JPEG: Often suitable for photo-based artwork and can be exported at a smaller size.
- WebP: Can be useful where the destination platform supports it. If compatibility is uncertain, PNG or JPEG is the safer starting choice.
Keep the important text and visual subject comfortably inside the edges. Platforms may crop or render cards differently, and the preview may be shown much smaller than the original image. Use strong contrast, a clear headline, and a layout that still makes sense if a little of the outer area is lost.
Create and publish the image
1. Design the artwork for the page
Create a new image for the page or adapt a reusable brand layout. A page-specific image can show the article’s subject or headline; a general site image is easier to maintain but may be less informative when individual URLs are shared. Export the final file as a raster image at the intended dimensions.
Rank #2
2. Put it at a public HTTPS URL
Upload the image to your site or another public host and use its full, absolute HTTPS address in your metadata, for example https://example.com/images/og-page.png. A relative path such as /images/og-page.png is not a substitute for the absolute URL in og:image. Check that the address returns the actual image to an unauthenticated visitor rather than a login page, an error, or an HTML wrapper.
3. Add Open Graph and Twitter card metadata
Place the tags in the page’s HTML <head>. Replace the example values with information specific to the page, and keep the URL and image consistent with the page being shared.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
<meta property="og:title" content="Page title">
<meta property="og:description" content="Short description for the shared link">
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page">
<meta property="og:image" content="https://example.com/images/og-page.png">
<meta property="og:image:alt" content="Description of the image">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://example.com/images/og-page.png">
Open Graph defines og:title, og:type, og:url, and og:image, along with structured image properties such as image type, secure URL, width, height, and alt text. LinkedIn’s documented markup includes og:title, og:image, og:description, and og:url. The Twitter card tags shown above provide corresponding card information; the image should be the same asset unless you have a deliberate reason to use a different one.
4. Make the metadata available in the initial HTML
Social crawlers do not necessarily behave like a full browser executing every client-side script. Inspect the page’s delivered source or response HTML and confirm the tags are present there, not only added later by JavaScript. If the page is built with a framework, use its server-rendering or metadata facilities so the crawler receives the intended values.
Rank #4
- Elevate your content creator journey with this unique design that resonates with the essence of blogging and vlogging. Stand out in the social media landscape and embrace your inner influencer.
- Capture the spirit of content creation with this exclusive design. Perfect for the dedicated vlogger or blogger looking to reflect their passion for storytelling and connecting with audiences.
- Hardcover journal with 240 line-ruled pages (120 sheets)
- Built-in elastic closure and ribbon bookmark
- Includes an expandable inner storage pocket and a pen holder
Static artwork or route-specific generation?
A static image is the simplest option when a site has few pages or a shared brand card is sufficient. Generated images make sense when each route should include its own title, author, product, or other page data. Choose based on how often pages change and how much personalization is useful; whichever approach you use, the resulting image still needs a publicly fetchable URL and valid metadata.
| Approach | Maintenance | Personalization | Deployment considerations | Debugging |
|---|---|---|---|---|
| Static image | Maintain and replace an image file when the design or content changes. | Usually the same artwork is reused unless separate files are created. | Serve the file as a static asset at a stable public URL. | Easy to inspect directly, but a changed file or URL may not immediately change an existing platform preview. |
| Generated image | Can update from page data rather than requiring a hand-edited file for every route. | Can render route-specific content such as a page title. | Requires a build-time or runtime generation path and a route or asset URL that crawlers can fetch. | Check both the generated image response and the metadata that points to it. |
Next.js App Router
Next.js supports route-specific social images through an opengraph-image or twitter-image file or route in the relevant segment. Its documented limits are 8 MB for opengraph-image and 5 MB for twitter-image. Those framework limits are separate from platform requirements: a file accepted by the framework may still exceed a social platform’s own limit. Consult the Next.js metadata image conventions when choosing a route-based implementation.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesBest Value
Verify the page and refresh previews
- Inspect the HTML: View the page source or its delivered response and confirm the expected Open Graph tags appear in the document head.
- Open the image URL directly: Confirm it resolves over HTTPS and returns the intended image without a sign-in, access restriction, or error.
- Check dimensions and file size: Confirm the exported file matches your design, and check the requirements of the platform where you plan to share it. LinkedIn’s documented limits are a 1200 × 627 minimum and 5 MB maximum.
- Use the destination platform’s preview or re-fetch tool: After changing metadata or the asset, request a fresh preview using that platform’s available debugging workflow. Cache behavior differs by platform, so there is no universal refresh interval to rely on.
Why a social preview image may not appear
- The metadata is missing from the delivered HTML. The tags may be absent, malformed, or injected only after client-side JavaScript runs. Put the correct values in server-rendered or initial HTML.
og:imageis not an absolute HTTPS address. Use the complete public image URL rather than a relative path or an address that redirects to a private page.- The crawler cannot fetch the image. Test the URL without being logged in. Check for access restrictions, broken links, or a response that serves a page instead of an image.
- The file does not meet the destination’s constraints. Check dimensions, format, and file size against that platform’s current documentation. For LinkedIn, the documented maximum is 5 MB and the minimum dimensions are 1200 × 627.
- The platform is showing an earlier preview. Use its preview/debugging or re-fetch workflow after making changes. Do not assume that clearing your own browser cache will refresh a platform’s stored card.
- The page and metadata disagree. Make sure
og:url, the title and description, and the image all correspond to the page being shared. Use a usefulog:image:altdescription rather than leaving image context out.
Or skip the browser setup
If you need a screenshot of a webpage rather than a designed social card, ScreenshotNeo can return a PNG, JPEG, WebP, or PDF from one GET request. Its screenshot API is not a replacement for writing your page’s Open Graph metadata: you still need a public image URL in og:image. It can supply the image asset when a live-page capture is what you want.
Example cURL request, with the target URL adapted to the page you want to capture:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options and configuration. ScreenshotNeo accepts cookie or consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; individual steps can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents using Claude, Cursor, or another MCP client. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.
Frequently Asked Questions
Does adding an Open Graph image guarantee that every social platform will show it?
No. A platform must be able to fetch the page and image, and platforms can apply their own preview and caching behavior.
Should I use one image for both Open Graph and Twitter card metadata?
The example uses the same image for both. You can use a different image if you intentionally want a different card asset and ensure each URL is publicly fetchable.
Quick Recap
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.




