Job posting Open Graph Image Template
A hiring card with the role, your pitch, and compensation details.
A hiring card with the role, your pitch, and compensation details.
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 Job posting template for careers pages and individual role listings. The role is the headline, your one line pitch sits underneath, and the chip row carries the details candidates filter on first: location, employment type, and compensation. Postings with a real share card stand out in exactly the feeds where hiring happens.
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 listing 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. One file in your careers segment covers every role, fed by the same data that renders each listing.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-job-posting
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a careers section, move it into the role segment instead, for example app/careers/[role]/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 careers chip, the headline, the pitch, the detail chips, and the url. Lead the headline with the company and the role reads as news rather than a listing; keep it under two rendered lines. The chips accept any short strings, so salary bands, visa notes, or team names all work. To generate a card per role, accept params in the default export and map your job data into content.
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.