Price drop Open Graph Image Template
A price drop card with an old and new price, product name, and ends chip.
A price drop card with an old and new price, product name, and ends chip.
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 Price drop template for sale pages and promotional shares. It sets the product name in a muted line, then puts the old price struck through beside the new one at display size so the saving reads at a glance. An ends chip at the foot adds the urgency that turns a browse into a purchase.
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 offer 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 two prices share a baseline, so the struck through original stays anchored to the giant new figure.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-price-drop
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a dedicated offer page, move it into that segment instead, for example app/deals/[slug]/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 the brand, the badge chip, the title, the oldPrice, the newPrice, the ends line, and the url. The newPrice runs at 150px, so keep it to a short figure; the oldPrice carries a line through decoration and a faint tone, which reads as the before at any length. Use the ends chip for the deadline and write ranges with to rather than a dash. Feed live figures through params on the default export so the card tracks the real sale.
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.