Skip to content

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. 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 200

    Run the termion demo

    cargo run --example demo --no-default-features --features=termion --release -- --tick-rate 200
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
tui-rs (this)10.9kLibraryintermediate3.3 years agoRust developers who want to build a terminal dashboard and are willing to use existing code
ratatui23.1kLibraryintermediate5 days agoRust developers building interactive command-line tools or dashboards
Terminal.Gui11.3kLibraryintermediate6 days agoC# / .NET developers building terminal tools with forms, tables or menus
FTXUI10.9kLibraryintermediate5 days agoC++ developers who want interactive text-based tools in the terminal
yazi43.2kAppintermediate4 days agoPeople who already spend time in a terminal and want a faster way to browse folders
gdb-dashboard12.3kDev toolbeginner4 months agoDevelopers 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.