Status: Alpha — Rezi is under active development and changing rapidly. APIs and behavior may change between releases, and Rezi is not yet recommended for production workloads.
What is Rezi?
Rezi is a high-performance terminal UI framework for TypeScript. You write declarative widget trees — a native C engine handles layout diffing and rendering. 56 built-in widgets cover everything from layout primitives and form controls to data tables, virtual lists, navigation, overlays, a code editor, diff viewer, and advanced visualization widgets. Sub-character resolution graphics via braille (2×4), sextant (2×3), quadrant (2×2), and halfblock (1×2) blitters let you draw lines, shapes, and gradients within a single terminal cell grid. Inline images work via Kitty, Sixel, or iTerm2 graphics protocols with automatic blitter fallback. Binary drawlists + native C framebuffer diffing move the hot rendering path out of JavaScript — the framework stays ergonomic at the top and fast on real workloads.Quick Example
Key Features
Native Performance
Binary drawlists + C framebuffer diffing — 10-200x faster than React-based TUI frameworks in most scenarios.
56 Built-in Widgets
Complete widget catalog from primitives to advanced components: tables, virtual lists, code editor, diff viewer, charts, canvas, and more.
Sub-Character Graphics
Canvas drawing at 2×4 braille resolution. Charts, heatmaps, sparklines, and inline images with automatic terminal protocol detection.
JSX Without React
Optional
@rezi-ui/jsx maps JSX directly to Rezi VNodes with zero React runtime overhead.Deterministic Rendering
Same state + same events = same frames. Versioned binary protocol and pinned Unicode tables ensure reproducible output.
Developer Experience
Hot state-preserving reload, 6 built-in themes, declarative animation APIs, automatic focus management, and syntax tokenizers.
How It Works
Rezi separates authoring from rendering:Who is Rezi for?
Rezi is built for:- Real-time dashboards — stable live telemetry displays
- Developer tooling — CLI tools with rich interactive UIs
- Control planes — operations consoles for infrastructure management
- Log viewers — high-performance text processing and display
- Terminal-first applications — teams who want TypeScript ergonomics without sacrificing performance
Performance
Rezi is benchmarked against Ink, OpenTUI (React and Core drivers), Bubble Tea, terminal-kit, blessed, and Ratatui across 22 scenarios covering primitive workloads, terminal-level rendering, and full-app UI composition. vs Ink — 10-200x faster across all measured scenariosvs OpenTUI (React) — ~10x faster geomean across 21 scenarios
vs OpenTUI (Core) — ~2.6x faster geomean, faster in 19/21 scenarios
vs Bubble Tea — faster in 20/21 scenarios See BENCHMARKS.md for full methodology, caveats, and reproduction steps.
Next Steps
Installation
Install Rezi packages and set up your environment
Quickstart
Build your first Rezi app in under 5 minutes
JSX Support
Learn how to use JSX with Rezi (no React runtime)
Examples
Explore templates and example applications