Text-based user interface
lastmod 2026-03-20created 2018-09-0527 edits
Text-based user interface (TUI) is a generalized term coined after the invention of graphical user interfaces, to distinguish it from string-based user interfaces. It is also called a terminal user interface. Like a GUI, a TUI differs from a command-line interface: it uses the full screen area and does not necessarily provide line-by-line output. However, a TUI uses only the characters and symbols available on a plain text terminal, whereas a graphical user interface uses high-resolution graphics modes.
Projects
- Ncurses (C/C++)
- Termbox
- LTUI (Lua) - A cross-platform terminal ui library based on Lua
- libmabuff (C/C++) - libmabuff (or MABuffer) is a simple C++ library for creating "textual graphics". While it's not as complex, stable nor portable as ncurses, it provides a simple way to create TUIs.
- FINAL CUT (C/C++) - A text-based widget toolkit
- BearLibTerminal (C/C++) - BearLibTerminal is a library that creates a terminal-like window facilitating flexible textual output and uncomplicated input processing.
- libtcod (C/C++) - libtcod is a free, fast, portable and uncomplicated API for roguelike developers providing an advanced true color console, input, and lots of other utilities frequently used in roguelikes.
- newt (C/C++) - A library for text mode user interfaces
- Bubble Tea (go) - A powerful little TUI framework
- Dialog
- Whiptail
- TerminalTextEffects (TTE) - terminal text effects engine
- Termo - a terminal emulator for building terminal UIs on the web
- Twin - a text-mode window environment (Textmode WINdow)
- tview - a terminal-based UI library written in Golang
- DevTUI - a Swiss Army knife for developers
- Bubble Tea (bubbletea; go)
- tview (go)
- Huh (go)
- TUI Studio – a terminal UI design tool
- tui.builders – Figma for terminal UIs, all the way to Rust code generation
See also
- GUI
- xterm.js
- Calcure - TUI calendar & task manager
- Television - a fast, versatile fuzzy finder TUI
Favorite site
Articles
Pages that link here