edgesharp-share
Social share images from a meta tagPoint a <meta property="og:image"> tag at this Worker with the source page URL. The Worker fetches the page, extracts <title> and meta tags, renders a JSX template via Satori + Resvg, and caches the PNG forever in R2. No SDK, no build step, no Next.js required.
Try it · paste any URL, see the rendered card
Live render running on a Cloudflare Worker. Pick a sample URL or paste your own. Title and description auto-extract from the page; override them with the inputs if you want different copy in the card.
<head>:<meta property="og:image" content="/card?url=https%3A%2F%2Fblog.cloudflare.com%2F&p=og">How it stays cheap
- • First request for a unique
(url, platform)renders and caches to R2. Every subsequent request — Twitter, Slack, Discord, real readers — serves from R2 with free egress. - • Crawler traffic doesn’t multiply costs. Bills are bounded by the count of distinct cards, not the count of fetches.
- • Workers Paid is $5/month per Cloudflare account, flat. The same plan covers this and the image-optimization Worker on the other tab.
Customizing the layout
The default template is a black background with the page title in bold, the description below, and the site name with an accent dot at the bottom. To change the layout, fork the repo and edit share/src/templates/default.tsx — it’s a regular React-shaped JSX function. Drop new variants into the same directory and select them via ?template=name.