
termui
A Go library for building colorful terminal dashboards with charts, tables and lists.
- Stars
- 13.6k
- Forks
- 818
- Licence
- MIT
- Language
- Go
- Last update
- 1.3 years ago
- Type
- Library
No commits in over a year — check for forks or alternatives before adopting.
What it is
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.
- Build a terminal dashboard that shows live charts with the Plot or Sparkline widget
- Display tabular data with the Table widget inside a grid layout
- Create a custom widget by building on the library's base components
- Show progress with a Gauge or BarChart inside a terminal app
Great for
- 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
Not ideal for
- 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
How to get it
- 1
Install with a package manager
You'll need: Go 1.15 or newer
Add to a Go project (the README says Go modules manage imports automatically)
go get github.com/gizak/termui/v3 - 2
Run it
- Create a Go file that imports github.com/gizak/termui/v3 and github.com/gizak/termui/v3/widgets
- Copy the Hello World example from the README into the file
- Run the program with go run and press any key to exit
- 3
Get the most out of it
- Run the bundled examples with go run _examples/{example}.go to see each widget in action
- Run make run-examples to step through all examples in sequence
- Read the project wiki linked in the README for widget documentation
- Look at the demo program in _examples/demo.go to see a full dashboard layout
Downloads
Strengths
- 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
Trade-offs
- 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
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| termui (this) | 13.6k | Library | intermediate | 1.3 years ago | Go developers who want to build a terminal monitoring dashboard |
| blessed-contrib | 15.8k | Library | intermediate | 6 months ago | Developers who want a monitoring or status dashboard that runs in a terminal |
| tui-rs | 10.9k | Library | intermediate | 3.3 years ago | Rust developers who want to build a terminal dashboard and are willing to use existing code |
| tview | 14.1k | Library | intermediate | 3 months ago | Go developers building interactive command-line tools with menus, forms, or tables |
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.