# Takumi Takumi renders JSX, HTML, and node trees into images, SVG, and PDF from Rust, without a headless browser. It ships as a Rust crate, a native Node addon, and a WebAssembly module, so the same template runs on Node, Bun, Deno, Cloudflare Workers, and in the browser. ## When to use Takumi Use Takumi for these jobs: - Generate an Open Graph or social card image for a page, a post, or a product. - Render a receipt, ticket, certificate, badge, or invoice as PNG, WebP, AVIF, JPEG, or SVG. - Produce a paged PDF (invoice, report, statement) from the same JSX you already render to HTML. - Replace Puppeteer or Playwright screenshots that exist only to turn markup into an image. - Replace Satori when you need real image decoding, PDF output, or CSS it does not implement. - Render thousands of images in a build step, or one per request inside a serverless function. Takumi does not scrape live websites or run JavaScript in a page. It lays out and paints the markup you give it. ## How to call it - Node, Bun, Deno: `npm install takumi-js`, then `renderAsync(node, options)`. - Next.js, Nuxt, SvelteKit, Astro, Nitro, TanStack Start: see /docs/integration. - Cloudflare Workers and the browser: use the WebAssembly build, `@takumi-rs/wasm`. - Rust: the `takumi` crate, documented at https://docs.rs/takumi. - PDF output: `takumi-pdf`, documented at /docs/pdf. ## Machine-readable entry points - https://takumi.kane.tw/llms.txt: this file, plus an outline of every documentation page. - https://takumi.kane.tw/llms-full.txt: all of the documentation in one Markdown file. - https://takumi.kane.tw/openapi.json: every endpoint this site serves, as OpenAPI 3.1. - https://takumi.kane.tw/r/registry.json: installable templates for the shadcn CLI. - https://takumi.kane.tw/sitemap.xml: every page URL. - Any documentation URL returns Markdown when the request sends `Accept: text/markdown`. The same content is also available by appending `.md` to the path. - https://takumi.kane.tw/about, /contact, /privacy: who maintains Takumi, how to reach them, what the site collects. # Docs - Documentation for Takumi - ** For LLMs ** - [llms.txt](https://takumi.kane.tw/llms.txt) - [llms-full.txt](https://takumi.kane.tw/llms-full.txt) - ** Get started ** - [Introduction](/docs): A Rust engine that renders JSX, HTML, and node trees into images. No headless browser. - Integration - [Integration](/docs/integration): Use Takumi in your framework. - [Next.js](/docs/integration/nextjs): Use Takumi to render your React components on the server. - [Fumapress](/docs/integration/fumapress): Open Graph images for every page with the Fumapress Takumi plugin. - [Nuxt](/docs/integration/nuxt): Use Takumi through Nuxt OG Image in Nuxt apps. - [SvelteKit](/docs/integration/sveltekit): Use Takumi to render your Svelte components on the server. - [TanStack Start](/docs/integration/tanstack-start): Use Takumi to render your React components on the server. - [Nitro](/docs/integration/nitro): Render OG images from a Nitro server route. - [Astro](/docs/integration/astro): Generate Open Graph images for every page at build time. - [Comparison to satori](/docs/comparison-to-satori): How Takumi differs from satori and next/og, and how to migrate a template. - ** Guides ** - [Styling](/docs/styling): How CSS reaches a node, what the stylesheet engine supports, and the Tailwind paths. - [Tables](/docs/tables): What the table displays support, where they drift from browsers, and how to keep columns close to Chrome. - [Typography & Fonts](/docs/typography-and-fonts): Load fonts, route scripts across them, and style text. - [Images & emoji](/docs/load-images): Load and cache images, and render emoji. - [Output Formats](/docs/output-formats): Choose a raster format, set the pixel density, or emit vector SVG. - [Keyframe Animation](/docs/keyframe-animation): Animate scenes with CSS keyframes and render them as GIFs, WebP, APNG, or video frames. - [Visual Effects](/docs/visual-effects): Aurora meshes, neon CRT, chrome type, halftone, and dithering with plain CSS. - [Performance & Optimization](/docs/performance-and-optimization): Best practices for building high-performance rendering pipelines with Takumi. - Upgrade - [Upgrade to v2](/docs/upgrade/v2): Walks through the breaking changes in v2 and how to upgrade from v1. - [Upgrade to v1](/docs/upgrade/v1): Walks through what's new in v1 and how to upgrade from v0. - ** Reference ** - [Reference](/docs/reference): List of everything in Takumi. - [ImageResponse](/docs/image-response): Serve rendered images over HTTP with a next/og-compatible Response. - [Helpers](/docs/helpers): Build inputs and load images without the renderer. - [The measure() API](/docs/measure-api): Measure the node layout without rendering it. - [Troubleshooting](/docs/troubleshooting): Every error Takumi prints, what to do about it, and why it happens. - ** Showcase ** - [Templates](/docs/templates): A collection of ready-to-use templates for Takumi.