
tview
A Go library for building interactive terminal user interfaces with ready-made widgets.
- Stars
- 14.1k
- Forks
- 696
- Licence
- MIT
- Language
- Go
- Last update
- 3 months ago
- Type
- Library
What it is
tview is a Go package that provides common building blocks for terminal programs, such as input forms, tables, lists, tree views, text areas, and modal windows. Developers use it to create interactive screens that run inside a terminal instead of a graphical window. The README says the components can be customized and extended.
- Build a terminal table view for browsing rows of data
- Create an input form with text fields, checkboxes, and buttons inside a terminal program
- Lay out multiple panels with grid, flexbox, or page layouts
- Show a modal message window to confirm an action
Great for
- Go developers building interactive command-line tools with menus, forms, or tables
- Developers who want prebuilt terminal widgets instead of drawing everything by hand
- Projects that need a terminal dashboard or file browser written in Go
Not ideal for
- People who want to use a finished app rather than write code, since this is a library and needs a Go program around it
- Developers not using Go, because the package is written for the Go language
- Projects needing a graphical desktop or web interface
How to get it
- 1
Install with a package manager
You'll need: Go
Add the package to your Go project
go get github.com/rivo/tview@master - 2
Run it
- Install Go and create a Go project folder with a main.go file
- Run the go get command to add tview to the project
- Paste the Hello World example from the README into main.go
- Run the program with go run . to see a bordered box titled Hello, world! in your terminal
- 3
Get the most out of it
- Open the demos subdirectory in the repository to see working examples
- Run the presentation program in demos/presentation to see the library's features in action
- Browse the GitHub Wiki for more examples with screenshots
- Look at projects listed in the README, such as K9s, to see tview used in real tools
Downloads
Strengths
- Covers many common widget types, including forms, tables, trees, and lists
- The README lists many real projects that use it, such as K9s
- Includes examples in a demos folder and a GitHub Wiki
Trade-offs
- The README's install instruction points to the master branch, and the latest release shown is v0.42.0 with no binaries
- Requires writing Go code; there is no standalone program to download
- The README shown is truncated, so detailed API behavior is not fully covered here
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| tview (this) | 14.1k | Library | intermediate | 3 months ago | Go developers building interactive command-line tools with menus, forms, or tables |
| bubbletea | 45.6k | Library | intermediate | 4 days ago | Go developers who want to build interactive command-line tools with a visual interface |
| termui | 13.6k | Library | intermediate | 1.3 years ago | Go developers who want to build a terminal monitoring dashboard |
| FTXUI | 10.9k | Library | intermediate | 4 days ago | C++ developers who want interactive text-based tools in the terminal |
| superfile | 24k | App | beginner | 7 days ago | People who spend a lot of time in the terminal and want a visual file browser there |
| plandex | 15.9k | CLI | intermediate | 1.1 years ago | Developers working in large codebases who want an AI agent to handle multi-file changes |
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.