Skip to content

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
Step-by-step guide: how to use tviewInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
tview (this)14.1kLibraryintermediate3 months agoGo developers building interactive command-line tools with menus, forms, or tables
bubbletea45.6kLibraryintermediate4 days agoGo developers who want to build interactive command-line tools with a visual interface
termui13.6kLibraryintermediate1.3 years agoGo developers who want to build a terminal monitoring dashboard
FTXUI10.9kLibraryintermediate4 days agoC++ developers who want interactive text-based tools in the terminal
superfile24kAppbeginner7 days agoPeople who spend a lot of time in the terminal and want a visual file browser there
plandex15.9kCLIintermediate1.1 years agoDevelopers 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.