NNuartz

Social Images

Updated 2026-03-191 min read

Auto-generated Open Graph preview images for social media sharing.

Nuartz generates Open Graph (OG) images for each page, providing rich link previews when your content is shared on Twitter/X, Discord, Slack, or iMessage.

How it works

Two routes generate OG images:

RouteUsed for
app/opengraph-image.tsxRoot / OG image
app/og/route.tsxPer-page OG images (Edge runtime)

The per-page image is referenced in <meta> tags generated in app/[...slug]/page.tsx:

openGraph: {
  images: [`/og?title=${title}&description=${description}`],
}

The image shows the page title, description, and site name on a dark background (1200×630px).

Customization

To change the visual design, edit apps/web/app/og/route.tsx. The JSX returned by the GET handler is rendered to a PNG via ImageResponse.

No frontmatter override

There is currently no support for specifying a custom image in frontmatter to override the auto-generated card. To add this, read f.frontmatter.image in the metadata generation code in app/[...slug]/page.tsx and use it as the OG image URL when present.

Requirements

Set NEXT_PUBLIC_SITE_URL in your environment so that absolute OG image URLs resolve correctly when scraped by social platforms:

NEXT_PUBLIC_SITE_URL=https://your-site.vercel.app

Linked from (3)