
tui-rs
A Rust library for building terminal dashboards and text-based interfaces; no longer maintained.
- Stars
- 10.9k
- Forks
- 481
- Licence
- MIT
- Language
- Rust
- Last update
- 3.3 years ago
- Type
- Library
This repository is archived and no longer maintained.
What it is
tui-rs is a Rust library for drawing rich user interfaces inside a terminal, such as dashboards with charts, tables, lists, gauges and tabs. It redraws the whole screen from widgets you describe on each frame, and it works with the crossterm or termion terminal backends. It does not handle keyboard input or events; you pair it with another library for that. The README states it is no longer maintained and points to the ratatui fork.
- Build a live dashboard that shows charts, gauges and tables updating over time
- Create a terminal list or table browser using the List and Table widgets
- Draw a simple canvas with lines, points or a map inside a terminal window
- Run the included demo to see the widgets in action
Great for
- Rust developers who want to build a terminal dashboard and are willing to use existing code
- Developers maintaining an older project that already depends on tui-rs
- People studying how a Rust terminal UI library is structured
Not ideal for
- Anyone starting a new project today, because the README says the crate is unmaintained and recommends the ratatui fork
- Non-programmers looking for a ready-made app, since this is a library for building interfaces
- Projects needing built-in input handling or an event system, which the library explicitly does not provide
How to get it
- 1
Install with a package manager
You'll need: Rust (rustc 1.56.1 or greater) · Cargo
Run the crossterm demo
cargo run --example demo --release -- --tick-rate 200Run the termion demo
cargo run --example demo --no-default-features --features=termion --release -- --tick-rate 200 - 2
Run it
- Clone the repository with git clone https://github.com/fdehau/tui-rs
- Run the crossterm demo with cargo run --example demo --release -- --tick-rate 200
- Press q to quit an example
- Try an individual widget example, such as cargo run --example gauge
- 3
Get the most out of it
- Use the --enhanced-graphics false flag on the demo if some symbols do not display correctly in your terminal
- Read the demo source in examples/demo/ui.rs and examples/demo/app.rs to see how a full interface is organized
- Add third-party widgets such as tui-textarea or tui-logger for text editing or log views
- Choose termion instead of the default crossterm by disabling default features, as shown in the demo commands
Downloads
Strengths
- Provides a broad set of widgets including charts, tables, canvas and tabs
- Supports two terminal backends, crossterm (default) and termion
- Several known terminal apps are built on it, such as bottom and gitui
Trade-offs
- The README says the crate is no longer maintained, so bugs and Rust changes may go unaddressed
- Requires Rust 1.56.1 or greater, and input handling must come from another library
- Visual results depend on the user's terminal emulator and fonts
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| tui-rs (this) | 10.9k | Library | intermediate | 3.3 years ago | Rust developers who want to build a terminal dashboard and are willing to use existing code |
| ratatui | 23.1k | Library | intermediate | 5 days ago | Rust developers building interactive command-line tools or dashboards |
| Terminal.Gui | 11.3k | Library | intermediate | 6 days ago | C# / .NET developers building terminal tools with forms, tables or menus |
| FTXUI | 10.9k | Library | intermediate | 5 days ago | C++ developers who want interactive text-based tools in the terminal |
| yazi | 43.2k | App | intermediate | 4 days ago | People who already spend time in a terminal and want a faster way to browse folders |
| gdb-dashboard | 12.3k | Dev tool | beginner | 4 months ago | Developers who debug C or C++ programs with GDB in a terminal |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.