Articles

Tutorials, framework guides, comparisons, and deep dives on rendering HTML to images at scale. Worked examples in PHP, Laravel, Rails, Python, JavaScript, React and Vue.

Dynamic OG Images in Astro, Hugo and Eleventy
Framework guides

Dynamic OG Images in Astro, Hugo and Eleventy

Pre-generate per-page Open Graph images at build time across three popular static site generators. Working code, caching, and meta-tag wiring covered for each.

How to Generate Dynamic Open Graph Images in Laravel
Framework guides

How to Generate Dynamic Open Graph Images in Laravel

Generate per-page Open Graph images in Laravel with Browsershot, Puppeteer Lambda or an API. Working code, queue handling and storage covered for each.

Why `@vercel/og` fails on emoji (and how to fix it)
Deep dives

Why `@vercel/og` fails on emoji (and how to fix it)

@vercel/og renders emoji as empty boxes by default because Satori does not bundle a color font. Three fixes, with code, and one production-ready alternative.

Chart.js Server-Side Rendering as Images (Python Guide)
Tutorials

Chart.js Server-Side Rendering as Images (Python Guide)

Render Chart.js charts on the server and get back a PNG. A cleaner alternative to chartjs-node-canvas or wrestling with matplotlib in Python.

HTML Invoice to Image in Laravel: A Working Setup
Framework guides

HTML Invoice to Image in Laravel: A Working Setup

Rendering invoices as PNGs that actually look professional. Laravel Blade templates, a clean API call, and no Puppeteer to maintain.

Replacing Puppeteer on AWS Lambda for Screenshots
Comparisons

Replacing Puppeteer on AWS Lambda for Screenshots

Tired of chrome-aws-lambda breaking on every Chrome update? Here's a cleaner way to run screenshot workloads without managing Chromium yourself.

 Dynamic OG Images in Next.js Without @vercel/og (1,200×630)
Framework guides

Dynamic OG Images in Next.js Without @vercel/og (1,200×630)

Hit a wall with Satori's CSS limits? Here's how to generate dynamic OG images in Next.js using a real browser renderer, with full working code.

Generate a screenshot using cURL
Tutorials

Generate a screenshot using cURL

Learn how to generate a screenshot using cURL using the HTML to Image API. With full examples, including dimensions and webhook usage.

Looking for ready-made designs?

Browse the template gallery for invoices, OG images, code screenshots and more.

Browse the docs

Authentication, parameters, language guides and named templates.