Extension Open Graph Image Template
An extension card with a browser toolbar mock, title, and browser chips.
An extension card with a browser toolbar mock, title, and browser chips.
Every Open Graph image template is included with Basic and Pro. Pick a plan to copy the code, install with the CLI, and download the raw SVG.
Already purchased? Log in
Use the Extension template when you ship a browser add on and want its share card to look like the browser itself. It leads with a drawn toolbar where your extension sits pinned beside the address bar, then states the pitch and lists the browsers you support, so a viewer reads install this in my browser before they reach a line of copy.
This template is a metadata image route for the Next.js App Router. The file exports size, contentType, and alt values plus a default async function that returns an ImageResponse. When the extension page is shared, satori converts the JSX into an SVG document, the runtime rasterizes that SVG into a 1200 by 630 PNG, and Next.js serves the result and wires the og:image and twitter:image tags into the page head automatically. The toolbar dots, the address pill, and the pinned tile are all plain divs, so the browser chrome costs nothing beyond flex and flat color.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-browser-extension
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a single extension you will usually move it into the landing segment instead, for example app/clipper/opengraph-image.tsx. You can also copy the code from this page straight into your project.
The card renders text with Inter, read from assets/fonts at your project root with node:fs so the font files never ship to the browser. Download the latin woff files for weights 400, 500, 600, and 700 from Fontsource and save them as assets/fonts/inter-latin-400-normal.woff and so on.
The content object holds brand, the title, the description, the chips array of supported browsers, and the url. Add or drop chips to match where you publish; three sit comfortably on the row. The pinned tile letter and the placeholder address inside the toolbar are written directly in the JSX, so change them there. The title stays readable up to two lines at 62px, and the description is happiest under 120 characters.
satori supports a focused subset of CSS: flexbox layout only, flat colors, and an explicit display: flex on any element with multiple children. Keep those rules in mind if you rework the layout.