Comparison

MyOG.social vs @vercel/og

Compare hosted URL-based OG image generation with Vercel's code-first image library.

Quick summary

New to OG images? Read the Open Graph image guide first.

@vercel/og is a good fit when you want to generate social images from code. You write JSX or HTML/CSS-style markup, deploy an image endpoint, and decide how dynamic content gets into the image.

MyOG.social is for the other case: I have pages already, and I want each URL to get a useful OG image without building an image renderer. Add one meta tag and let MyOG fetch the page, read the content, and generate the image.

Feature comparison

Feature MyOG.social@vercel/og
Setup modelOne meta tagImage endpoint
Template sourcePage contentCode
Infrastructure requiredIncludedVercel Functions
Works with non-JS stacksOnly with a separate endpoint
Design skills neededMinimalYes
Automatic CDN caching
MaintenanceHostedYou maintain the route
Pixel-level controlTemplate-levelHigh

When I would use MyOG.social

  • You want one OG image setup across WordPress, Ghost, Rails, Django, static HTML, or a custom app.
  • You do not want to maintain an image endpoint, font loading, crawler access, and fallback states.
  • Your pages already contain the title, description, logo, colors, and imagery MyOG can use.
  • You care more about every page having a good card than hand-tuning every card.

When I would use @vercel/og

  • You already deploy on Vercel and are comfortable owning an API route.
  • You need exact brand layouts built in JSX.
  • You want image generation to stay inside your application code.
  • Your content model is structured enough that passing URL params or route data into an image endpoint is easy.

Setup comparison

MyOG.social Setup

MyOG.social setup is intentionally boring. Put the generated image URL in `og:image`, pass the page URL, and make sure crawlers can fetch the page.

The image is generated on first request and cached after that. No Node.js runtime, image route, or React component required in your app.

<meta property="og:image" content="https://api.myog.social/og?url={yourURL}" />

@vercel/og Setup

  1. Install or use the framework-provided OG image package.
  2. Create a public image route.
  3. Build the image layout in JSX or markup.
  4. Load fonts and external images in a crawler-safe way.
  5. Add caching and fallback behavior.
  6. Use the route as the value for the Open Graph image tag.

Cost comparison

@vercel/og is code you run on Vercel Functions, so the cost discussion is tied to your hosting plan, function usage, and cache behavior.

MyOG.social uses product pricing based on generated images. The tradeoff is simple: pay for a hosted tool instead of owning the image-generation route.

Check the current MyOG.social pricing and the vendor's pricing page before making the call. Pricing changes more often than implementation details.

The bottom line

Use @vercel/og when the image is part of your application code and you want precise control.

Use MyOG.social when the page URL is the source of truth and you want OG images without building another subsystem.

Sources I checked

Related resources

Try MyOG.social Free

See what your OG images would look like from a URL before changing your site.

Already have an account?

de5303dc80820b50071741451619305001794b90