TUI framework comparison
Pick a terminal UI framework by language.
Terminal UI frameworks split by language. Ink and TermUI target JavaScript and TypeScript, Textual targets Python, Bubble Tea targets Go, and blessed is the long-standing Node option. TermUI is the TypeScript-native pick with a React-like JSX model and no React dependency.
Feature matrix
| Feature | TermUI | Ink | Textual | Bubble Tea | blessed |
|---|---|---|---|---|---|
| Language | TypeScript | JS / TS | Python | Go | JavaScript |
| Runtime dependency | None | React + Yoga | Rich | None | None |
| JSX / components | Own JSX runtime | Via React | Python widgets | Elm model | No |
| Flexbox layout | Yes (built-in) | Yes (Yoga) | CSS grid/dock | Manual | Manual |
| CSS-like theming | TSS, 12 themes | Limited | Yes | Lip Gloss | No |
| Spring animations | Yes | No | Yes | Manual | No |
| Router | Built-in | No | Screens | No | No |
| Global state | Built-in store | Use React | Reactive | Model | No |
| Test renderer | Yes | ink-testing-library | Pilot | teatest | No |
| Hot reload dev server | Yes | No | Yes (textual run --dev) | No | No |
| Components | 230 | Small core | 30+ | Bubbles set | ~20 |
| License | MIT | MIT | MIT | MIT | MIT |
One line each
TermUI · TypeScript
TypeScript framework with its own JSX runtime, flexbox layout, TSS theming, router, store, and a hot-reload dev server.
Ink · JavaScript / TypeScript
React renderer for the terminal. You write React components; Ink renders them to the CLI using Yoga for flexbox.
Textual · Python
Python TUI framework with CSS-like styling and an async, widget-based model.
Bubble Tea · Go
Go framework based on the Elm architecture, paired with Lip Gloss for styling.
blessed · JavaScript
Long-standing curses-like library for Node. No JSX or component model.
Frequently asked questions
- What is the best TypeScript TUI framework?
- TermUI is the TypeScript-native option. It ships 15 packages and 230 components, its own JSX runtime, a flexbox layout engine, TSS theming, a router, a store, and a hot-reload dev server, all MIT-licensed.
- What is the equivalent of Textual or Bubble Tea for TypeScript?
- Textual targets Python and Bubble Tea targets Go. For TypeScript, TermUI offers a comparable feature set with a React-like JSX model, while Ink offers a React renderer that depends on React.
- Which TUI framework supports flexbox layout?
- TermUI has a built-in flexbox engine. Ink uses Yoga for flexbox. Textual uses CSS grid and docking. Bubble Tea and blessed position widgets manually.
- Which TUI frameworks have a built-in router and state store?
- TermUI bundles both a router and a Zustand-style store. Ink leaves these to the React ecosystem. Textual has screens and reactive attributes. Bubble Tea uses its Elm-style model.
- Are these TUI frameworks free and open source?
- Yes. TermUI, Ink, Textual, Bubble Tea, and blessed are all MIT-licensed and free for commercial use.
Comparison reflects public documentation as of June 2026. Framework names are trademarks of their respective authors.