Beautiful Open Graph images for your GitHub projects
Stop using static images that never update. Generate stunning social preview images dynamically with just a URL.
- π¨ 6 Beautiful Themes - Modern, Minimal, Vibrant, Gradient, Glass, Tech
- β‘ Lightning Fast - Built with Bun for instant generation
- π§ Fully Customizable - Colors, text, icons, layouts via URL params
- π¦ Zero Dependencies - Pure TypeScript, no bloat
- π Deploy Anywhere - Vercel, Cloudflare Workers, or self-host
bun install
bun devVisit http://localhost:3000 to see the landing page with examples.
Generate images by visiting /banner with URL parameters:
/banner?title=MyProject&tagline=An awesome description&features=Fast,Secure,Simple&gradient=667eea,764ba2&icon=π&theme=modern
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | β | Project name |
tagline |
string | β | One-line description |
features |
string | β | Comma-separated list (max 4) |
gradient |
string | β | Two hex colors without #, e.g. 667eea,764ba2 |
icon |
string | β | Emoji icon |
theme |
string | β | modern, minimal, vibrant, gradient, glass, tech (default: modern) |
highlight |
string | β | Highlighted text below tagline |
github |
string | β | GitHub URL (defaults to sylphxltd/{title}) |
Clean gradients with glassmorphism effects. Perfect for modern SaaS products.
Bold typography with clean lines. Great for developer tools.
Energetic colors with dynamic design. Ideal for creative projects.
Smooth flowing gradients throughout. Beautiful for any project.
Frosted glass morphism effect. Stunning for premium products.
Futuristic with grid patterns. Perfect for technical libraries.
/banner?title=Silk&tagline=Zero-runtime CSS-in-TS with 92% smaller bundles&features=Type-safe styling,92% smaller,Zero runtime,TypeScript&gradient=667eea,764ba2&icon=π¨&theme=modern
/banner?title=Zen&tagline=Immutable state management with 1.7-45Γ better performance&features=45Γ faster,Type-safe,Zero deps,Simple API&gradient=0f2027,2c5364&icon=β―οΈ&theme=glass&highlight=Up to 45Γ faster than Immer
/banner?title=Benchmark&tagline=Automated performance testing for TypeScript&features=Auto benchmarking,Regression detection,CI/CD,HTML reports&gradient=f093fb,f5576c&icon=π&theme=vibrant
Use Playwright to convert HTML to PNG:
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage({ viewport: { width: 1280, height: 640 } });
await page.goto('http://localhost:3000/banner?...');
await page.screenshot({ path: 'og-image.png', type: 'png' });
await browser.close();vercelwrangler publishFROM oven/bun:latest
WORKDIR /app
COPY . .
RUN bun install
CMD ["bun", "start"]- Deploy OG to production
- Generate your banner URL
- Screenshot the page (1280Γ640px)
- Go to repo Settings β Social preview
- Upload the image
Or use a service like https://og-playground.vercel.app/ to preview.
# Install dependencies
bun install
# Run dev server with hot reload
bun dev
# Build for production
bun build
# Run tests
bun testMIT Β© SylphX
Inspired by:
Made with β€οΈ by SylphX