Quote Open Graph Image Template
A quote card with an oversized quote mark, quote text, and attribution.
A quote card with an oversized quote mark, quote text, and attribution.
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 Quote template for a pull quote, a manifesto line, or a testimonial you want to travel on its own. An oversized quotation mark opens the card, the line itself sits at reading size in the middle, and an attribution row with an initials avatar, name, and role closes it. It turns a single sentence into a shareable card, so a strong line carries the link.
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 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 quotation mark is a faint oversized glyph, so the eye lands on the words.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-quote-card
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. To pin one quote to a specific page, move it into that segment instead, for example app/manifesto/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 quote, author, role, and initials, with no chips or url. The initials fill the avatar tile, so set them from the author name. The quote runs at 46px and holds to roughly three lines at this width; trim the fontSize if a longer line wraps past the layout. For a dark variant, flip the background to #09090b, the text to #fafafa, and lighten the quotation mark one step; the layout needs no other changes.
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.