Newsletter Open Graph Image Template
A newsletter card with an issue tile, headline, and author byline.
A newsletter card with an issue tile, headline, and author byline.
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 Newsletter template so every issue you send ships a share card that reads like a masthead. The newsletter name sits top left with a dark issue tile across from it, the headline fills the middle, and the author byline and subscribe address close it out.
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 a page in the segment 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 issue number lives in its own pill, so it stays legible whether you are on issue 4 or issue 400.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-newsletter-issue
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a newsletter you will usually move it into the issue segment instead, for example app/newsletter/[issue]/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 newsletter for the masthead name, issue for the dark tile, the title headline, the description, the author byline, and the url. To stamp a card per issue, accept params in the default export, read the issue the way the page does, and feed those fields in. Keep issue short like No. 84 so the pill stays compact, and let the title run up to about two lines at 66px before the description starts to crowd.
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.