Takumi is an image rendering engine written in Rust. The design is mainly inspired by satori, but with a focus on portability and performance (2-10x compared to next/og in Image Bench).
You can try out Takumi in Playground without installation. Or Quick Start page for usage.
- All in one. No need to output SVG then have resvg-js rendering it again to output PNG.
- Inline layout support (display
blockorinline). - RTL support.
- Tailwind CSS support out of the box.
- Variable fonts support.
- COLR font support (e.g. twemoji-colr).
- WOFF2 font format support.
- PNG, JPEG, WebP output support.
- WebP, APNG animation rendering support.
- Takes your existing JSX components and drops them in, it should just work.
- Minimal binary size targets to run everywhere.
- Be the go-to library for image/animation rendering.
- Have a great developer experience.
-
Takumi's Open Graph Image is generated with Takumi (source).
-
X Open Graph Image (source).
-
shiki-image Convert code snippets into images.
-
(Unofficial) Takumi Playground In-browser playground for designing and rendering Open Graph style images.
Contributions are welcome! Please feel free to open an issue or submit a pull request.
By participating in this project, you agree to abide by our Code of Conduct.
You need to have Rust 1.88+ & Bun installed.
bun installTakumi wouldn't be possible without the following works:
- taffy for the flex & grid layout.
- image for the image processing.
- parley for text layout.
- swash for font shaping.
- wuff for woff/woff2 decompression.
- resvg for SVG parsing & rasterization.
Licensed under the terms in the LICENSE file.