A minimal C library for creating text-based user interfaces with a simple cell-based terminal abstraction.
Termbox is a minimal C library for creating text-based user interfaces in terminal environments. It provides a simple cell-based abstraction of the terminal screen, allowing developers to build pseudo-graphical interfaces rather than traditional command-line tools. The library handles low-level terminal interactions while exposing only 12 core functions for drawing and input management.
Developers building terminal-based applications who want a lightweight alternative to ncurses, especially those creating interactive tools, text editors, or file managers with custom UI elements.
Termbox offers extreme simplicity with a tiny API surface, making it easier to learn and use than more complex alternatives. Its minimal design and cross-language bindings make it ideal for small to medium terminal applications where ncurses would be overkill.
Library for writing text-based user interfaces
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With only 12 core functions, Termbox is incredibly easy to learn and use, as detailed in the 'Getting started' section of the README.
Official Python bindings and numerous community ports for languages like PHP, Rust, and Swift make it accessible beyond C, as listed under 'Language bindings'.
Supports input mode switching and includes mouse event handling ported from termbox-go, enabling interactive applications without complex setup.
Models the terminal as a grid of fixed-size cells, simplifying rendering for pseudo-graphical interfaces, as explained in the philosophy section.
The README explicitly states 'This library is no longer maintained,' posing risks for bug fixes, security updates, and future compatibility.
Admits issues with copy-pasting and displaying wide CJK characters, limiting usability in internationalized or text-heavy applications.
Relies on a waf-based build script instead of more common systems like CMake, which can increase setup complexity for some developers.
termbox is an open-source alternative to the following products: