---
title: "Compatibility · Nuxt OG Image · Nuxt SEO"
canonical_url: "https://nuxtseo.com/docs/og-image/v5/guides/compatibility"
last_updated: "2026-08-16T10:00:30.236Z"
meta:
  description: "Learn what environments can use what features."
  "og:description": "Learn what environments can use what features."
  "og:title": "Compatibility · Nuxt OG Image · Nuxt SEO"
---

Nuxt SEO on GitHub

You're viewing **OG Image v5** documentation. For the latest, [~~switch to v6~~](https://nuxtseo.com/docs/og-image/getting-started/introduction).

](https://nuxtseo.com/docs/og-image/v5/getting-started/introduction)

](https://nuxtseo.com/docs/og-image/v5/api/define-og-image)

](https://nuxtseo.com/docs/og-image/v5/releases/v5)

Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

**Core Concepts**

# **Compatibility**

Nuxt OG Image relies heavily on third-party packages that have different compatibility requirements.

## Bindings

There are a number of bindings that can be used for each dependency: `**node**`, `**wasm**`, `**wasm-fs**` and `**false**`.

- `**node**` binding is for default Node based environments.
- `**wasm**` and `**wasm-fs**` bindings are used to run WebAssembly. They are mostly used for WebWorker support.
- `**wasm-fs**` binding is for using WebAssembly in a development WebWorker development environment such as StackBlitz.
- `**false**` disables the dependency.

## Dependencies

### `**chromium**`

**Supports**: `**node**`

Used to render browser screenshots.

This only works on Node based environments. However, it does not work on AWS Lambda as the Chromium binary is too large.

Due to the rendering times being slow, it's recommended to only use browser screenshots when prerendering them.

### `**satori**`

**Supports**: `**node**`, `**wasm**`, `**wasm-fs**`

Used to render a HTML vNode tree into OG Images.

This is the default renderer, and works on all environments.

### `**resvg**`

**Supports**: `**node**`, `**wasm**`, `**wasm-fs**`

Used to transform SVGs into PNGs. This should work on all environments.

When installing using the `**node**` binding, it can have issues resolving the correct binary. You may run into an issue like `**Cannot resolve "./resvgjs.android-arm64.node"**`, in which case you should manually set the binding to `**wasm**` or `**wasm-fs**`.

### `**sharp**`

**Supports**: `**node**`

Used to transform PNG to JPEG. This only works on Node based environments.

This is disabled by The dependency is quite heavy so it's disabled by default.

See the [**~~JPEGs~~**](https://nuxtseo.com/docs/og-image/guides/jpegs) guide for more information.

### `**css-inline**`

**Supports**: `**node**`, `**wasm**`, `**wasm-fs**`

Used to support `**<style>**` tags within Vue SFCs.

Powered by [**~~css-inline~~**](https://github.com/Stranger6667/css-inline).

## Overriding compatibility

In some instances, it may be useful to override the compatibility, so you can toggle features or use more optimised bindings for your environment.

```ts
export default defineNuxtConfig({
  ogImage: {
    compatibility: {
      // disable chromium dependency for prerendering (skips the chromium install in CIs)
      prerender: {
        chromium: false
      }
    }
  }
})
```

## Provider compatibility

### Development

- `**sharp**`  - will use your local Sharp install
- `**chromium**`  will use your local Chromium install, if available

### Prerendering

- `**chromium**`  - will use your local Chromium install or install a chromium binary if not found

### AWS Lamdba, Netlify, Vercel

- `**chromium**`  - can't be used due to the binary size
- `**sharp**`  - can't be used due to some post-install scripts issue

### Vercel Edge, Netlify Edge, Cloudflare Pages

- `**chromium**`  - can't be used, no WASM support
- `**sharp**`  - can't be used, no WASM support

### Cloudflare Workers

- `**chromium**`  - can't be used, no WASM support
- `**sharp**`  - can't be used, no WASM support
- `**css-inline**`  - can't be used, no WASM support

There is an [**~~open issue~~**](https://github.com/harlan-zw/nuxt-og-image/issues/63) for custom fonts and images being broken in Cloudflare Workers. Please reply to the issue if you need this fixed.

### StackBlitz

- `**chromium**`  - can't be used, no WASM support
- `**sharp**`  - can't be used, no WASM support

## Provider Examples

All examples are generated from the [**~~Nuxt OG Image Playground~~**](https://github.com/harlan-zw/nuxt-og-image-playground) GitHub repo.

- [**~~Netlify~~**](https://main--nuxt-og-image-playground-netlify.netlify.app)

- [**~~Netlify Edge~~**](https://nuxt-og-image-playground-netlify-edge.netlify.app/)

- [**~~Vercel~~**](https://nuxt-og-image-playground-harlan-zw.vercel.app/)

- [**~~Vercel Edge~~**](https://nuxt-og-image-playground-gkdt.vercel.app/)

- [**~~Cloudflare Pages~~**](https://nuxt-og-image-playground.pages.dev/)

- [**~~Cloudflare Workers~~**](https://playground.harlanzw.workers.dev/)

**Was this page helpful?**

[**Zero Runtime** Create OG Images without the server runtime overhead.](https://nuxtseo.com/docs/og-image/v5/guides/zero-runtime) [**Route Rules** Learn how to use route rules to customise your OG Image.](https://nuxtseo.com/docs/og-image/v5/guides/route-rules)