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

Use a 1200 × 630 pixel image (about 1.91:1) as your default Facebook Open Graph canvas. Export it at a public HTTPS URL, reference it with og:image, add dimensions and descriptive alt text, then verify the live link preview after deployment. A browser editor is best for occasional graphics; a code-based generator is better when every page needs a different card.

What a Facebook Open Graph image generator does

An Open Graph (OG) image generator creates the graphic that Facebook and other link-preview clients show beside a shared URL. A useful generator normally combines three jobs:

  • Designing, cropping, resizing, and compressing the image.
  • Keeping text and logos inside a safe area so previews do not cut them off.
  • Producing or helping you verify the og: metadata in the page head.

The image is only one part of the card. Facebook reads metadata from the page you share, fetches the image URL, and may cache the result. Therefore, a correct design can still fail to appear when the URL is inaccessible, the page serves stale metadata, or a crawler has not fetched the updated version.

Facebook OG image size and format

Recommended canvas

Design at 1200 × 630 pixels, an aspect ratio of approximately 1.91:1. This is the working size recommended by OpenGraph Studio’s 2026 guidance and Vercel’s 2025 documentation for generated images. An independent Facebook-focused guide lists 600 × 315 pixels as a minimum reference; using the larger canvas gives you more detail and is the practical default.

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

Safe-area layout

Keep headlines, logos, prices, and calls to action away from every edge. Facebook’s card, mobile layouts, and other downstream clients can crop or scale the source differently. A simple approach is to reserve roughly 8–10% of the width and height as breathing room, then test the actual shared URL rather than relying only on your design canvas.

File choices

Use a web-friendly raster image such as JPEG, PNG, or WebP, and declare the actual MIME type in metadata. JPEG is efficient for photographic backgrounds; PNG is useful for crisp text or transparency; WebP can reduce bytes when your delivery stack and preview clients support it. Whatever format you choose, serve the final file over HTTPS and make sure unauthenticated requests can retrieve it.

Required Open Graph metadata

The Open Graph protocol defines og:image as the image representing the shared object. Add an absolute URL, not a relative path. A complete head can look like this:

<meta property="og:title" content="Your page title">
<meta property="og:description" content="A concise description of the page.">
<meta property="og:url" content="https://example.com/article">
<meta property="og:type" content="article">
<meta property="og:image" content="https://example.com/images/article-card.webp">
<meta property="og:image:url" content="https://example.com/images/article-card.webp">
<meta property="og:image:secure_url" content="https://example.com/images/article-card.webp">
<meta property="og:image:type" content="image/webp">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Illustrated title card for the article">

The protocol supports structured properties for URL, secure URL, MIME type, width, height, and alt text. Facebook’s documentation states: “If the page specifies an og:image it should specify og:image:alt.” Alt text describes the image itself; it is not a caption or a duplicate of the post description.

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

Multiple images

You may provide more than one og:image, but the first image is preferred. Put your intended default first and only add alternatives when you have a clear reason to do so. Ensure every image URL is absolute and publicly fetchable.

Twitter metadata

Many generators also output Twitter/X card tags. They are separate metadata and do not replace the Open Graph properties above. If your sharing tool provides both sets, check that each points to the same final asset and that the dimensions match.

Choose a generator workflow

Need Best fit Why
One-off or occasional cards Browser editor Visual controls, crop preview, and no build pipeline.
Cards driven by title, author, price, or category Programmatic generation One template can produce a different image for every URL.
Large batches or automated refreshes API or server function Generation can run during builds, publishing, or scheduled jobs.

Browser method: OpenGraph Studio

OpenGraph Studio presents itself as a free, open-source browser tool for designing, cropping, compressing, and previewing OG images. Its advertised export is 1200 × 630, and it can copy a complete set of og: and twitter: tags for your page head. The product also advertises local browser processing, no signup, and no server-side image upload; treat those as the tool’s claims and confirm they still apply when you use it.

  1. Start a 1200 × 630 document.
  2. Add the page title and visual identity, keeping critical text inside a conservative safe area.
  3. Use the crop and preview controls to inspect desktop and narrow-card treatments.
  4. Compress the export without making small text unreadable.
  5. Copy the generated metadata and replace placeholder values with your production URL, image URL, dimensions, MIME type, and alt text.
  6. Upload the image to a stable HTTPS location.
  7. Deploy the page, then test the real URL from a logged-out browser and your social preview tooling.

Programmatic generation with Vercel’s @vercel/og

Vercel documents @vercel/og for dynamic Open Graph image generation with Vercel Functions and recommends a 1200 × 630 output. This approach is useful when a content model supplies variables such as a title, author, category, price, or publication date.

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

Implementation pattern

  1. Define a reusable visual template with fixed dimensions and a safe area.
  2. Pass page data into the template from a route or build step.
  3. Return the generated image with an image MIME type.
  4. Set each page’s og:image to the generated route’s absolute HTTPS URL.
  5. Cache generated results where appropriate, but purge or version the URL when a card changes.

Keep fonts, colors, and fallback text deterministic. Escape user-provided strings, limit title length, and provide a fallback when an avatar or background image cannot be fetched. Dynamic generation is powerful, but it adds server execution, font loading, and remote-asset failure modes that a static editor avoids.

How to preview and validate a Facebook link card

  1. Inspect the deployed HTML source and confirm there is one intended first og:image.
  2. Open the image URL directly in a private browser window. A redirect loop, authentication prompt, hotlink block, or error page means crawlers cannot use it.
  3. Check that the response type matches the declared MIME type and that the image really is 1200 × 630 (or your documented variant).
  4. Share the exact production URL, not a localhost or staging address.
  5. If an old card appears, change the image URL or use the platform’s refresh/debug workflow; social crawlers cache fetched metadata.
  6. Repeat after deployment from a second network or device to catch firewall and geo-specific access rules.

Common failures and fixes

Symptom Likely cause Fix
No image Relative URL, blocked crawler, or non-HTTPS asset Use an absolute HTTPS URL and test it without cookies.
Old image persists Preview cache Refresh the debugger or publish a versioned image URL.
Text is cut off Important elements too close to edges Move content inward and inspect narrow previews.
Broken thumbnail Wrong MIME type, timeout, or oversized/failed response Return the real content type, optimize the file, and verify a fast anonymous request.
Unexpected image selected Another og:image appears first Reorder tags so the preferred image is first.
Dynamic card fails intermittently Missing font or remote asset during server rendering Bundle reliable fonts, provide fallbacks, and avoid fragile third-party fetches.

Performance, reliability, and cost considerations

  • Static files: simplest and most reliable once uploaded; regenerate when content changes.
  • Dynamic routes: eliminate manual exports but consume function time and can fail when dependencies are unavailable.
  • Compression: reduce transfer size while checking that type remains readable on phones.
  • Caching: cache stable cards, but use a new URL or explicit invalidation after a redesign.
  • Accessibility: write meaningful og:image:alt; it describes visual content rather than repeating the social caption.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request captures a clean PNG, JPEG, WebP, or PDF. Before capture it accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status.

For a live page capture, use the API documented at https://screenshotneo.com/docs/:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients. Every feature is on every plan: 1,000 shots monthly free with no card, then Starter is $5 for 3,000; yearly billing provides two months free. Create a free ScreenshotNeo account to try it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

FAQ

Can I use 600 × 315 instead of 1200 × 630?

600 × 315 is cited as a minimum reference by one current Facebook guide, but 1200 × 630 is the safer default for new work and automated templates.

Is alt text visible on the Facebook card?

Usually it is metadata for accessibility and interpretation, not visible caption text. Keep it concise and describe the image.

Should every article have a unique OG image?

Unique images improve recognition and are practical when a generator can substitute page data. A consistent default is acceptable as a fallback when no page-specific asset exists.

Why does a correct image still not update?

Facebook and other crawlers can retain previously fetched metadata. Confirm the deployed HTML and image first, then force a refresh through the platform’s preview/debug process or publish a versioned image URL.

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.

Frequently Asked Questions

What is the safest file format for a Facebook OG image?

Use JPEG, PNG, or WebP according to your design; the important requirements are a valid MIME type, a public HTTPS URL, and readable compression.

Can an OG image URL require authentication?

No. Social crawlers need to fetch it anonymously, so private or login-protected assets will not render reliably.

The Bottom Line

Build at 1200 × 630, publish an absolute HTTPS image URL with complete Open Graph metadata, keep essential content inside a safe area, and validate the live card after deployment. Use a browser editor for occasional cards and dynamic generation when page data must drive the design.

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.