Skip to content

Ratatui

Cook up delicious terminal user interfaces

Ratatui is a Rust library for building rich terminal user interfaces and applications. Create powerful TUIs, interactive dashboards, command-line games, and modern terminal experiences with ease.

From zero to TUI in minutes

use ratatui::style::Stylize;
use ratatui::widgets::{Block, Paragraph};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut terminal = ratatui::init();
terminal.draw(|frame| {
let block = Block::bordered().title("Welcome");
let greeting = Paragraph::new("Hello, Ratatui! 🐭")
.centered()
.on_cyan()
.block(block);
frame.render_widget(greeting, frame.area());
})?;
std::thread::sleep(std::time::Duration::from_secs(5));
ratatui::restore();
Ok(())
}

Trusted by developers building amazing terminal apps

1000+ crates built with Ratatui 13.4k stars on GitHub 7.1M downloads on crates.io

atuin

Shell history with superpowers

bottom

System monitor

bandwhich

Network utilization monitor

⚡ Fast & Lightweight

Efficient rendering with minimal overhead. Your TUIs will be as fast as they are delicious.

🎨 Rich Ingredients

Charts, tables, lists, gauges, and more. Mix and match widgets to create the perfect recipe.

🔧 Flexible Recipes

Responsive layouts that adapt to any terminal size. CSS-like constraints with Rust performance.

🦀 Pure Rust

Type-safe, memory-safe, and thread-safe. No C dependencies, just pure Rust goodness.

Ready to start cooking?

Join thousands of developers cooking up the next generation of terminal applications