A header-based C++ library for building terminal user interfaces with a functional, component-driven style, with no external dependencies.
rivo/tview
A Go library of ready-made interactive widgets (forms, tables, trees, lists, text areas) for building terminal user interfaces.
- Stars
- 14,143
- Forks
- 695
- Open issues
- 106
- Last commit
- 2 months ago
What is it?
tview is a Go package for building terminal-based user interfaces. It supplies commonly needed components such as input forms with text fields, selections, checkboxes and buttons, navigable multi-color text views, editable text areas, table views, tree views, selectable lists, and modal message windows.
The components are combined with grid, flexbox and page layouts, and an application wrapper runs the event loop. Developers can customize the widgets or write their own primitives. The library is built on tcell for terminal handling and uniseg for Unicode text width.
The project also lists many terminal applications built with it, including Kubernetes, database and cloud-service clients, which show the range of tools it is used for.
Key features
- 01Input forms with text fields, drop-down selections, checkboxes and buttons
- 02Table, tree and list views with keyboard navigation
- 03Editable multi-line text areas and multi-color text views
- 04Grid, flexbox and page layouts for arranging components
- 05Modal message windows and an application wrapper that runs the event loop
- 06Extensible: customize existing widgets or write your own primitives
Use cases
- Building an interactive terminal dashboard or monitoring tool in Go
- Creating a CLI client for a database, cloud service or API with browsable tables
- Writing forms-driven terminal utilities that need input validation and menus
Topics
FAQ
- What is tview?
- A Go library of ready-made interactive widgets (forms, tables, trees, lists, text areas) for building terminal user interfaces. tview is a Go package for building terminal-based user interfaces. It supplies commonly needed components such as input forms with text fields, selections, checkboxes and buttons, navigable multi-color text views, editable text areas, table views, tree views, selectable lists, and modal message windows.
- Is tview free to use? What license does it have?
- tview is open source under the MIT license. Check the license terms before using it in commercial products.
- Is tview still maintained?
- Updated within 6 months. The last commit to tview was on Aug 11, 2026.
- What can I use tview for?
- Building an interactive terminal dashboard or monitoring tool in Go Creating a CLI client for a database, cloud service or API with browsable tables Writing forms-driven terminal utilities that need input validation and menus
- Where can I get tview?
- The source code and installation instructions are on GitHub: https://github.com/rivo/tview
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform Go library for building customizable, resizable dashboards and interactive widgets in the terminal.
A Go framework for building terminal user interfaces using The Elm Architecture's model-update-view pattern.
A cross-platform GUI library for Rust with a simple, type-safe, Elm-inspired programming model.
A Python framework for building terminal and web user interfaces with a simple, component-based API.
A Rust crate for building terminal user interfaces (TUIs) with reusable widgets and a simple rendering model.