termui vs tview
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A Go library for building colorful terminal dashboards with charts, tables and lists.
Open source · MIT
A Go library for building interactive terminal user interfaces with ready-made widgets.
The short answer
Choose termui if you need…
- Go developers who want to build a terminal monitoring dashboard
- Programmers who need prebuilt charts, tables or gauges in a terminal app
- Developers who want to create custom terminal widgets in Go
- Developers who want keyboard and mouse events handled in a text UI
Choose tview if you need…
- 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
Side-by-side
| termui | tview | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 13.6k | 14.1k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | Go | Go |
| Last code update | 16 months ago | 3 months ago |
What each one is
termui
termui is a Go library for building dashboards that run inside a terminal window. It provides ready-made widgets such as charts, gauges, tables, lists and paragraphs, and lets you position them in a grid or at fixed coordinates. It is built on termbox-go and is meant for programmers who want to show live information in a text-based interface.
tview
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.
Best for
termui
- Go developers who want to build a terminal monitoring dashboard
- Programmers who need prebuilt charts, tables or gauges in a terminal app
- Developers who want to create custom terminal widgets in Go
- Developers who want keyboard and mouse events handled in a text UI
tview
- 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
Strengths
termui
- Includes many common widgets such as charts, tables, lists and trees
- Supports keyboard, mouse and terminal resize events
- Documented examples are provided in the repository for each widget
tview
- 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
Not ideal for
termui
- People who just want a ready-made dashboard without writing Go code, because termui is a library rather than a finished program
- Projects that need actively maintained updates on a fixed schedule, because the README says update frequency may be irregular and the maintainer is looking for help
- Teams that cannot use Go 1.15 or newer, since the README states that is the compatibility target
tview
- 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
Trade-offs
termui
- The README says maintenance is irregular and the author is seeking maintainers
- Requires writing Go code; there is no standalone dashboard to run directly
- Relies on termbox-go, so behavior depends on that underlying layer
tview
- 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
Getting started
termui
Add to a Go project (the README says Go modules manage imports automatically)
go get github.com/gizak/termui/v3tview
Add the package to your Go project
go get github.com/rivo/tview@masterFrequently asked questions
What is the difference between termui and tview?
termui: A Go library for building colorful terminal dashboards with charts, tables and lists. tview: A Go library for building interactive terminal user interfaces with ready-made widgets. termui suits go developers who want to build a terminal monitoring dashboard, while tview suits go developers building interactive command-line tools with menus, forms, or tables.
Are termui and tview free?
termui: Free and open source. tview: Free and open source.
Is termui or tview more popular?
tview has more GitHub stars (14.1k) than termui (13.6k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to termui and tview?
Other options people compare them with include blessed-contrib, Bubble Tea, FTXUI.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.