Skip to main content
TUI4J is a Java library for building terminal user interfaces inspired by Bubble Tea. It brings the Elm Architecture to Java, letting you compose interactive TUI applications from a Model, update(), and view() — the same pattern used in Go’s Charm ecosystem. Available on Maven Central as com.williamcallahan:tui4j.

Installation

Add TUI4J to your Maven or Gradle project in seconds.

Quickstart

Build your first interactive TUI app with a working example.

Core Concepts

Understand the Elm Architecture pattern behind every TUI4J app.

Components

Explore the full Bubbles component library: lists, inputs, tables, and more.

What you can build

TUI4J gives you everything needed for production terminal applications:

Interactive lists

Filterable, paginated lists with fuzzy search and custom delegates.

Text inputs

Single-line and multi-line editors with validation and echo modes.

Rich styling

Lipgloss styling: colors, borders, padding, alignment, and layout joins.

Spring Boot integration

Embed TUI4J into a Spring Boot application with JPA data sources.

Get started in 3 steps

1

Add the dependency

Add com.williamcallahan:tui4j:0.3.1-preview to your Maven or Gradle build.
2

Implement the Model interface

Create a class implementing Model with init(), update(Message), and view() methods.
3

Run your program

Instantiate new Program(new MyModel()).run() and your TUI application starts.
TUI4J is a port of the Charmbracelet ecosystem for Java developers. If you are familiar with Bubble Tea in Go, the API maps 1:1 — check the compatibility overview for exact package mappings.