Tcell is a Go package that provides a cell based view for text terminals such as XTerm.
It was inspired by termbox, but adds a broader terminal abstraction for applications that need better portability, richer input handling, Unicode support, and colour control.
Tcell gives developers a portable foundation for building text user interfaces in Go. It hides many terminal-specific details while still exposing the features needed by modern terminal applications.
This is free and open source software.
Key Features
- Cell-based terminal screen abstraction for Go applications.
- Pure Go implementation with no CGO requirement.
- Runs on Linux, FreeBSD, macOS, Solaris, Windows, WebAssembly, and Plan 9.
- Unicode support including wide characters and grapheme clusters.
- Conversion support for non-Unicode locales.
- Enhanced handling for special keys and keyboard modifiers.
- Mouse tracking with support for motion events, click-drag, buttons, and wheel events.
- ANSI/XTerm colour palette support with optional 24-bit colour.
- Bracketed paste support.
- Terminal override options for keyboard, mouse, and capability negotiation behaviour.
- Demonstration programs and examples.
Website: github.com/gdamore/tcell
Support:
Developer: Garrett D’Amore and contributors
License: Apache License 2.0
Tcell is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Go TUI Frameworks | |
|---|---|
| termui | Golang terminal dashboard |
| Bubble Tea | Fun, functional and stateful way to build terminal apps |
| tview | Terminal UI library with rich, interactive widgets |
| gocui | Minimalist Go package aimed at creating Console User Interfaces. |
| Tcell | Low-level Go package for portable terminal screen handling and input |
| PTerm | Go library for styled output, progress displays, and interactive prompts |
| Huh? | Go library for elegant, accessible interactive forms and prompts |
| Cobra | Library for creating powerful modern CLI applications |
| Bubbles | Reusable components for composing polished Bubble Tea applications |
| go-tui | Declarative toolkit for building interactive terminal applications |
| cview | Terminal-based user interface toolkit (fork of tview) |
| gotui | Modern Go library for creating rich interactive terminal interfaces |
| Phoenix | High-performance toolkit for building responsive terminal interfaces |
| Lip Gloss | Style definitions for nice terminal layouts |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.