For a terminal UI library for building TUIs in Rust, the first results are ratatui-org/ratatui, fdehau/tui-rs (tui-rs is a mature Rust TUI framework with a flexible layout engine, a rich widget library covering charts, tables, and progress bars, a cross-platform terminal backend, and screen buffer abstractions, directly matching the request for a library to build terminal UIs) and veeso/tui-realm (tui-realm is a Rust TUI framework built on ratatui that provides a stateful, React/Elm-inspired architecture, covering widget systems, event handling, and terminal rendering—ideal for building terminal-based user interfaces). gyscos/cursive and ivanceras/titik round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
These open-source Rust libraries provide the necessary components and frameworks for building interactive terminal-based applications.
Ratatui is a terminal rendering engine and library for the Rust language used to build interactive text-based user interfaces. It provides a framework for creating command-line dashboards and visual applications by rendering widgets and layouts directly to a terminal screen. The project utilizes a backend-agnostic interface to decouple UI logic from terminal drivers and employs a constraint-based layout engine to divide screen space into nested rectangular areas. It manages rendering through an immediate-mode drawing loop and a buffer-based system to minimize screen flicker. The library supp
Ratatui is a comprehensive Rust TUI library with a widget system, event-driven input handling, terminal rendering (including raw mode and buffer abstraction), cross-platform support, and a constraint-based layout engine — it directly matches your need for a Rust framework to build interactive terminal UIs.
tui-rs is a Rust framework for building rich terminal user interfaces and dashboards. It provides a terminal layout engine for dividing the screen into flexible rectangular regions and a widget library for rendering data in a terminal. The project includes a cross-platform terminal backend abstraction layer to ensure consistent rendering and compatibility across different operating system terminal drivers. The framework covers a wide range of UI components, including data visualization tools such as charts, progress gauges, and sparklines, as well as structural elements like data tables, ite
tui-rs is a mature Rust TUI framework with a flexible layout engine, a rich widget library covering charts, tables, and progress bars, a cross-platform terminal backend, and screen buffer abstractions, directly matching the request for a library to build terminal UIs.
This project is a framework for building stateful, component-driven terminal user interfaces in Rust. It provides a structured architecture for managing complex command line applications by decoupling rendering logic from application state through a centralized message-passing system. By utilizing a component-based model, it enables developers to construct interactive interfaces that handle event routing, focus management, and lifecycle orchestration in a predictable manner. The framework distinguishes itself through its focus on modularity and developer productivity. It employs trait-based c
tui-realm is a Rust TUI framework built on ratatui that provides a stateful, React/Elm-inspired architecture, covering widget systems, event handling, and terminal rendering—ideal for building terminal-based user interfaces.
Cursive is a cross-platform terminal user interface toolkit and framework for building interactive applications in Rust. It provides a modular system for creating text-based graphical interfaces, utilizing a dedicated engine to manage the main display loop and view hierarchies. The toolkit features a backend-agnostic abstraction layer to ensure consistent rendering and input handling across different operating systems. It distinguishes itself through a palette-based theme engine that supports runtime theme loading and true color rendering, as well as the ability to generate user interface hie
Cursive is a full-featured Rust library for building terminal UIs with widgets, event handling, and cross-platform rendering, making it a strong fit for this search, though it lacks built-in asynchronous support.
A cross platform minimalistic text user interface
ivanceras/titik is a cross-platform minimalistic Rust library for building text user interfaces, fitting the search for a TUI framework, though its minimal scope means it likely lacks advanced features like async support or extensive styling.
Markdown rendering, Mermaid diagrams, syntax highlighting, collapsible trees, and rich scroll widgets for ratatui
This repository is a markdown-rendering plugin for the ratatui TUI library, not a standalone TUI framework — it adds widgets and syntax highlighting but does not provide the event handling, terminal rendering, or cross-platform support needed to build a terminal UI from scratch.
A ratatui Braille-canvas globe widget. Geometry buffers under assets/geo/ are baked from public domain Natural Earth data and embedded at compile time via MapData::embedded().
This is a single widget (a Braille-canvas globe) built for the ratatui TUI library, not a general-purpose Rust TUI library or framework — it is a component you would use within one, not the tool itself.
A popup widget for Ratatui
This is a popup widget designed for the Ratatui TUI framework, not a standalone TUI library or framework for building terminal interfaces.
tui-rain is a simple widget to generate various rain effects for ratatui.
This is a widget for the ratatui TUI library, not a standalone TUI framework; it provides a rain effect but lacks the core widget system, event handling, and rendering features you need.
Textual is a Python TUI framework and asynchronous UI library used to build interactive text user interfaces. It provides a component-based architecture for creating cross-platform applications that run in both terminal and web browser environments. The framework distinguishes itself by utilizing a CSS-based layout engine to apply visual styles to widgets and a command palette interface for discovering and executing application functions. It also supports hosting terminal-based interfaces on the web to enable remote access via a standard browser. The toolkit covers a broad range of capabilit
Textual is a full-featured TUI framework, but it is built in Python rather than Rust, so it does not meet the specific language requirement of this search.
This project is a terminal emulator that provides a modern command-line interface with support for tabbed navigation, GPU-accelerated text rendering, and comprehensive Unicode character display. It functions as a host for multiple shell sessions, managing them as independent processes within a unified windowing environment while maintaining compatibility with legacy console applications through a robust sequence parsing engine. Beyond its role as a standalone application, the project is built on a modular architecture that exposes its core logic as a reusable library. This design allows devel
Microsoft's Terminal is a C++ terminal emulator application, not a Rust library or framework for building TUIs — it hosts shell sessions rather than providing widgets, event handling, or rendering abstractions for crafting custom terminal interfaces.
Trippy is a network diagnostic tool and terminal user interface that combines ping and traceroute functionality to analyze network paths and performance. It provides a network packet parser and path analyzer to detect packet loss, jitter, and multipath routing through continuous network probing. The project is distinguished by its support for specialized tracing strategies, including Paris and Dublin, to ensure consistent path discovery. It identifies network address translation devices and utilizes heuristic analysis to distinguish genuine packet loss from rate-limiting. Broad capability ar
Trippy is a network diagnostic tool with a terminal user interface, but you are looking for a library or framework to build TUIs, not a pre-built application — so it fits the TUI area but not the builder-tool identity you need.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| ratatui-org/ratatui | 21.3K | Rust | MIT | |
| fdehau/tui-rs | 10.9K | Rust | MIT | |
| veeso/tui-realm |
| 963 |
| Rust |
| — |
| gyscos/cursive | 4.8K | Rust | MIT |
| ivanceras/titik | 123 | Rust | — |
| celestia-island/ratatui-markdown | 31 | Rust | NOASSERTION |
| d10n/tui-globe | 26 | Rust | — |
| joshka/tui-popup | 29 | Rust | MIT |
| levilutz/tui-rain | 80 | Rust | MIT |
| willmcgugan/textual | 36.3K | Python | MIT |