OG Image CDN Comparison: Cloudinary vs Vercel OG vs Imgix vs Cloudflare

Compare the top CDNs and services for hosting and generating OG images. Pricing, performance, ease of use, and dynamic generation capabilities side by side.

Why OG image hosting matters

Your OG image needs to load fast. Social platforms and messaging apps have strict timeouts for fetching preview images — typically 2-5 seconds. If your image doesn't load in time, the preview shows without an image (or with a broken placeholder), destroying your click-through rate.

A CDN (Content Delivery Network) serves your OG images from edge locations close to the crawlers, dramatically reducing latency. Some CDNs also offer on-the-fly image transformation, letting you generate OG images dynamically via URL parameters.

The contenders

Vercel OG (next/og)

Best for: Next.js apps on Vercel. Generates OG images at the edge using React components.

  • ✅ Zero config if you're on Vercel
  • ✅ React components → PNG (Satori under the hood)
  • ✅ Edge runtime — sub-100ms generation
  • ✅ Free on all Vercel plans
  • ⚠️ Limited to Vercel hosting
  • ⚠️ CSS subset only (no grid, limited flexbox)

Cloudinary

Best for: URL-based image transformations without code. Works with any stack.

  • ✅ Powerful URL-based transformations
  • ✅ Text overlays, backgrounds, effects via URL params
  • ✅ Works with any framework
  • ✅ Free tier: 25 credits/month (~25K transformations)
  • ⚠️ Complex URL syntax
  • ⚠️ Paid plans start at $89/month
<!-- Cloudinary dynamic OG image URL -->
https://res.cloudinary.com/demo/image/upload/
  w_1200,h_630,c_fill,
  l_text:Arial_64_bold:My%20Blog%20Post%20Title,
  co_white,g_west,x_60,w_900/
  og-template.png

Imgix

Best for: High-volume image processing with fine-grained control.

  • ✅ Real-time image processing via URL parameters
  • ✅ Typography API for text rendering
  • ✅ Excellent caching and CDN
  • ✅ Works with S3, GCS, Azure, or web folder sources
  • ⚠️ No free tier (starts at $10/month)
  • ⚠️ Requires connecting an image source

Cloudflare Images

Best for: Simple image hosting and resizing at scale with predictable pricing.

  • ✅ $5/month for 100K images stored
  • ✅ Flexible variants (resize, crop, format)
  • ✅ Served from Cloudflare's massive CDN
  • ✅ Simple API for uploads
  • ⚠️ No text overlay or dynamic generation
  • ⚠️ You need to pre-generate images

Satori (self-hosted)

Best for: Full control without vendor lock-in. Run anywhere.

  • ✅ Open source (MIT license)
  • ✅ JSX → SVG → PNG pipeline
  • ✅ Deploy on any Node.js host
  • ✅ No per-image costs
  • ⚠️ You manage the infrastructure
  • ⚠️ Need @resvg/resvg-js for PNG conversion

Comparison table

FeatureVercel OGCloudinaryImgixCF ImagesSatori
Dynamic gen
Text overlays
Free tier
Any framework
Edge latency<100ms~200ms~150ms~100msvaries
Vendor lock-inHighMediumMediumLowNone

Recommendation

  • Next.js on Vercel? Use Vercel OG. It's free, fast, and zero-config.
  • Any framework, need dynamic text? Cloudinary is the most versatile URL-based option.
  • High volume, need control? Self-host Satori on your own edge functions.
  • Just need hosting? Cloudflare Images is cheapest for pre-generated images.

Test your OG images regardless of CDN

No matter which CDN or service you use, test your live OG tags with OGFixer to see exactly how they render on every platform.

Check your OG images free →