Convert HTML to Images with a Single API Call
Pass raw HTML — get back a pixel-perfect PNG, JPEG, or WebP. No hosted page required. Generate social cards, invoices, OG images, and email previews without running a browser.
The Problem
Generating images from HTML typically requires spinning up a headless browser, managing Chromium dependencies, and handling memory-intensive rendering. Self-hosted Puppeteer adds cold starts, infrastructure costs, and operational complexity — especially in serverless environments where browser binaries are too large to deploy.
The Solution
Rendex renders HTML to images on Cloudflare's edge network. Send your HTML as a string, get back a high-quality image. No browser install, no cold starts, no infrastructure. Works from any language that can make an HTTP request.
See it in action


Get Started in Minutes
from rendex import Rendex
from pathlib import Path
rendex = Rendex("YOUR_API_KEY")
html = """
<div style="width:1200px;height:630px;display:flex;align-items:center;
justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);
font-family:system-ui;color:white;font-size:48px;font-weight:bold;">
Hello from Rendex
</div>
"""
result = rendex.screenshot(html=html, format="png", width=1200, height=630)
Path("card.png").write_bytes(result.image)import Rendex from "@copperline/rendex";
import { writeFileSync } from "fs";
const rendex = new Rendex("YOUR_API_KEY");
const html = `
<div style="width:1200px;height:630px;display:flex;align-items:center;
justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);
font-family:system-ui;color:white;font-size:48px;font-weight:bold;">
Hello from Rendex
</div>
`;
const result = await rendex.screenshot({ html, format: "png", width: 1200, height: 630 });
writeFileSync("card.png", Buffer.from(result.image));curl -X POST https://api.rendex.dev/v1/screenshot \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<div style=\"width:1200px;height:630px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-family:system-ui;color:white;font-size:48px;font-weight:bold;\">Hello from Rendex</div>",
"format": "png",
"width": 1200,
"height": 630
}' --output card.png100 free API calls/month — no credit card required. Get your API key and start building.
Built for This Use Case
Raw HTML Input
Pass any HTML string — no hosted page required. Include inline styles, Google Fonts, SVGs, and complex layouts.
Multiple Formats
Output as PNG, JPEG, WebP, or PDF. Control quality, dimensions, and device scale factor up to 3x retina.
Edge Rendering
Rendered on Cloudflare's 300+ edge locations. Sub-3-second rendering with zero cold starts.
CSS & JS Support
Full CSS support including Flexbox, Grid, and animations. Inject custom JavaScript to manipulate content before capture.
Batch Rendering
Fan out concurrent render calls to process invoices, social cards, or certificates in parallel — one HTML template per call. (The URL-batch endpoint captures many live URLs in one request; templated HTML is rendered per call.)
Async + Webhooks
Fire-and-forget with async mode. Receive HMAC-signed webhook callbacks when rendering completes.
Start Free, Scale as You Grow
100 calls/month free. Starter at $69/mo for 10K calls (or $58/mo billed annually — 2 months free). Pro at $179/mo for 100K calls.