GLB → WebP / PNG / JPEG / raw · WebGPU
GLB in, image out.
A tiny headless renderer that turns a GLB into PNG, WebP or JPEG bytes, or the raw RGBA frame for a diff or a texture. Same request, same pixels, every time. Runs in Node.js and the browser.
- Browser
- 918 KB
- Node.js
- 6.0 MB
- JS API
- 0.5 KB

Try the live camera
The example below runs in your browser on WebGPU. Move a control and the request re-renders; the same call runs unchanged in Node.js.
Rendering…
advanced · direction XYZ
import { directionFromOrbit, renderImage } from 'nanoraster';const image = await renderImage(glb, { format: 'webp', quality: 1, lineWidth: 3, camera: { framing: 'fit', direction: directionFromOrbit({ azimuth: 45, elevation: 30 }), projection: { kind: 'perspective', verticalFieldOfView: 45 }, }, background: '#101418',});One render core. Native Metal, Vulkan, and DX12. Browser WebGPU.
Read the docs →