Skip to content

Lip Gloss vs tview

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

Lip Gloss

Open source · MIT

A Go library for styling and laying out text in terminal user interfaces.

tview

Open source · MIT

A Go library for building interactive terminal user interfaces with ready-made widgets.

The short answer

Choose Lip Gloss if you need…

  • Go developers building terminal user interfaces
  • Developers who already use Bubble Tea and want consistent styling
  • People familiar with CSS who want a similar style model in the terminal
  • Anyone printing styled, aligned output from a Go command-line program

Choose tview if you need…

  • Go developers building interactive command-line tools with menus, forms, or tables
  • Developers who want prebuilt terminal widgets instead of drawing everything by hand
  • Projects that need a terminal dashboard or file browser written in Go

Side-by-side

Lip Glosstview
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars12k14.1k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageGoGo
Last code update4 days ago3 months ago

What each one is

Lip Gloss

Lip Gloss is a Go library that lets you define styles for text in a terminal, such as colors, bold or underline, padding, margins, alignment, and borders. It uses a CSS-like, declarative approach, so people familiar with CSS can get started quickly. It is built with terminal user interfaces (TUIs) in mind.

tview

tview is a Go package that provides common building blocks for terminal programs, such as input forms, tables, lists, tree views, text areas, and modal windows. Developers use it to create interactive screens that run inside a terminal instead of a graphical window. The README says the components can be customized and extended.

Best for

Lip Gloss

  • Go developers building terminal user interfaces
  • Developers who already use Bubble Tea and want consistent styling
  • People familiar with CSS who want a similar style model in the terminal
  • Anyone printing styled, aligned output from a Go command-line program

tview

  • Go developers building interactive command-line tools with menus, forms, or tables
  • Developers who want prebuilt terminal widgets instead of drawing everything by hand
  • Projects that need a terminal dashboard or file browser written in Go

Strengths

Lip Gloss

  • Declarative, CSS-like API that is easy to read and reuse
  • Styles are value types, so copying and modifying them does not change the original
  • Automatic color downsampling lets one style work across different terminals

tview

  • Covers many common widget types, including forms, tables, trees, and lists
  • The README lists many real projects that use it, such as K9s
  • Includes examples in a demos folder and a GitHub Wiki

Not ideal for

Lip Gloss

  • Non-Go projects, since the library is written for Go (reason: it is a Go package)
  • People who only need plain text output with no styling (reason: the library adds styling features they would not use)
  • Users looking for an end-user application (reason: it is a library that developers include in their own programs)

tview

  • People who want to use a finished app rather than write code, since this is a library and needs a Go program around it
  • Developers not using Go, because the package is written for the Go language
  • Projects needing a graphical desktop or web interface

Trade-offs

Lip Gloss

  • Requires working knowledge of Go to use
  • Terminal rendering support varies, and some features such as hyperlinks degrade in unsupported terminals
  • The README is truncated here, so full API coverage and details are not verified

tview

  • The README's install instruction points to the master branch, and the latest release shown is v0.42.0 with no binaries
  • Requires writing Go code; there is no standalone program to download
  • The README shown is truncated, so detailed API behavior is not fully covered here

Getting started

Lip Gloss

Install the library

go get charm.land/lipgloss/v2
Step-by-step guide: how to use Lip Gloss

tview

Add the package to your Go project

go get github.com/rivo/tview@master
Step-by-step guide: how to use tview

Frequently asked questions

What is the difference between Lip Gloss and tview?

Lip Gloss: A Go library for styling and laying out text in terminal user interfaces. tview: A Go library for building interactive terminal user interfaces with ready-made widgets. Lip Gloss suits go developers building terminal user interfaces, while tview suits go developers building interactive command-line tools with menus, forms, or tables.

Are Lip Gloss and tview free?

Lip Gloss: Free and open source. tview: Free and open source.

Is Lip Gloss or tview more popular?

tview has more GitHub stars (14.1k) than Lip Gloss (12k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to Lip Gloss and tview?

Other options people compare them with include Bubble Tea, termui, FTXUI.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.