defineOgImageComponent() · Nuxt OG Image · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

**OG Image v6** is here! Looking for an older version? [View v5 docs](https://nuxtseo.com/docs/og-image/v5/getting-started/introduction).

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

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

[Releases](https://nuxtseo.com/docs/og-image/releases/v6)

OG Image

- [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)

Search…```k`` /`

v6 (latest)

- Playgrounds
- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Nuxt API

- [`defineOgImage()`](https://nuxtseo.com/docs/og-image/api/define-og-image)
- [`defineOgImageComponent()`](https://nuxtseo.com/docs/og-image/api/define-og-image-component)
- [`defineOgImageScreenshot()`](https://nuxtseo.com/docs/og-image/api/define-og-image-screenshot)
- [Components](https://nuxtseo.com/docs/og-image/api/components)
- [nuxt.config.ts](https://nuxtseo.com/docs/og-image/api/config)
- [Nuxt Hooks](https://nuxtseo.com/docs/og-image/api/nuxt-hooks)

### Nitro API

- [Nitro Hooks](https://nuxtseo.com/docs/og-image/nitro-api/nitro-hooks)

Nuxt API

# defineOgImageComponent()

[Copy for LLMs](https://nuxtseo.com/docs/og-image/api/define-og-image-component.md)

**Deprecated in v6.** Use [`defineOgImage()`](https://nuxtseo.com/docs/og-image/api/define-og-image) instead with the component name as the first argument.

```
// Before
defineOgImageComponent('NuxtSeo', { title: 'Hello' })
// After
defineOgImage('NuxtSeo', { title: 'Hello' })
```

Run `npx nuxt-og-image migrate v6` to auto-migrate.

## [Introduction](#introduction)

The `defineOgImageComponent()` composable allows you to define an og:image using a custom template for the current page with improved type safety.

## [Arguments](#arguments)

```
defineOgImageComponent(
  component,
  propsOrOptions,
  options
)
```

- `component`: The component to render as the og:image.
- `propsOrOptions`: Props for the component, or an array of options for multiple images.
- `options`: Options for generating the image (only when `propsOrOptions` is not an array). Same as [defineOgImage](https://nuxtseo.com/docs/og-image/api/define-og-image).

Returns an array of generated image URLs.

## [Single Image](#single-image)

```
defineOgImageComponent(
  'MyCustomComponent',
  { title: 'Welcome to my site!' },
  { cacheMaxAgeSeconds: 3600 }
)
```

## [Multiple Images](#multiple-images)

Pass an array as the second argument to generate multiple OG images with different dimensions. This is useful for platforms like WhatsApp that require square images.

```
defineOgImageComponent('NuxtSeo', [
  // Default 1200x600 for Twitter/Facebook
  { title: 'My Page' },
  // Square 800x800 for WhatsApp
  { title: 'My Page', key: 'whatsapp', width: 800, height: 800 },
])
```

Each item in the array can include all component props plus [OgImageOptions](https://nuxtseo.com/docs/og-image/api/define-og-image) like `key`, `width`, `height`, etc.

```
const urls = defineOgImageComponent('NuxtSeo', [
  { title: 'Default' },
  { title: 'Square', key: 'square', width: 450, height: 450 },
])
// urls = [
//   '/_og/s/title_Default,p_...',
//   '/_og/s/k_square,w_450,h_450,title_Square,p_...'
// ]
```

See the [WhatsApp guide](https://nuxtseo.com/docs/og-image/guides/whatsapp) for more details.

[Edit this page](https://github.com/nuxt-modules/og-image/edit/main/docs/content/4.api/0.define-og-image-component.md)

[Markdown For LLMs](https://nuxtseo.com/docs/og-image/api/define-og-image-component.md)

Did this page help you?

[defineOgImage() Define an og:image for the current page.](https://nuxtseo.com/docs/og-image/api/define-og-image) [defineOgImageScreenshot() Define an OG Image that takes a screenshot of the page.](https://nuxtseo.com/docs/og-image/api/define-og-image-screenshot)

On this page

- [Introduction](#introduction)
- [Arguments](#arguments)
- [Single Image](#single-image)
- [Multiple Images](#multiple-images)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

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

### [NuxtSEO Pro](https://nuxtseo.com/pro "Home")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/mcp/installation)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)