Skip to content

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

FTXUI

Open source · MIT

A C++ library for building terminal user interfaces with no dependencies.

tview

Open source · MIT

A Go library for building interactive terminal user interfaces with ready-made widgets.

The short answer

Choose FTXUI if you need…

  • C++ developers who want interactive text-based tools in the terminal
  • Developers who want a library with no external dependencies
  • Projects that need layouts like boxes, grids, and flexible spacing in a console
  • Developers who want to use the library through CMake, Bazel, vcpkg, or Conan

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

FTXUItview
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars10.9k14.1k
Setup difficultyIntermediateIntermediate
How you get itClone and build from sourceInstall with a package manager
Main languageC++Go
Last code update5 days ago3 months ago

What each one is

FTXUI

FTXUI is a C++ library that lets programmers draw interactive interfaces inside a terminal window, with layouts, colors, borders, buttons and mouse or keyboard input. It uses a functional style where the interface is described as a tree of elements. It is meant for building text-based tools that run in a console rather than in a graphical window.

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

FTXUI

  • C++ developers who want interactive text-based tools in the terminal
  • Developers who want a library with no external dependencies
  • Projects that need layouts like boxes, grids, and flexible spacing in a console
  • Developers who want to use the library through CMake, Bazel, vcpkg, or Conan

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

FTXUI

  • The README states it has no dependencies
  • It is available through many package managers and build systems, including CMake FetchContent
  • It includes examples, documentation, tests, and a WebAssembly build of its examples

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

FTXUI

  • People who are not writing C++ code, since the README describes only a C++ library
  • Projects needing a graphical desktop window, because FTXUI renders to the terminal
  • Teams that need Windows support as a primary target, since the README lists Linux and macOS as the main targets with Windows added by contributors

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

FTXUI

  • It is a C++ library, so you need to be comfortable with C++ and a build system
  • The README describes Windows support as added by contributors rather than as a main target
  • The README is truncated here, so details about the full API and stability are not confirmed

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

FTXUI

Clone the repository

git clone https://github.com/ArthurSonzogni/FTXUI
Step-by-step guide: how to use FTXUI

tview

Add the package to your Go project

go get github.com/rivo/tview@master
Step-by-step guide: how to use tview

Frequently asked questions

What is the difference between FTXUI and tview?

FTXUI: A C++ library for building terminal user interfaces with no dependencies. tview: A Go library for building interactive terminal user interfaces with ready-made widgets. FTXUI suits c++ developers who want interactive text-based tools in the terminal, while tview suits go developers building interactive command-line tools with menus, forms, or tables.

Are FTXUI and tview free?

FTXUI: Free and open source. tview: Free and open source.

Is FTXUI or tview more popular?

tview has more GitHub stars (14.1k) than FTXUI (10.9k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to FTXUI and tview?

Other options people compare them with include Textual, Terminal.Gui, CustomTkinter, xterm.js, Bubble Tea.

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.