A curated list of tools, frameworks, and libraries that make the terminal genuinely beautiful to build with and look at.
Not just functional — delightful. Every entry here earns its place through great DX, visual polish, or both.
TUI Frameworks
Build full terminal UIs with great ergonomics.
- Ratatui
rust— Immediate-mode TUI library. Composable widgets, excellent docs, huge community. - Cursive
rust— Ergonomic TUI with a focus on composable views and clean event handling. - indicatif
rust— Progress bars and spinners. The polished standard for Rust CLIs. - dialoguer
rust— Interactive prompts with great defaults. Pairs naturally with indicatif. - Bubble Tea
go— Elm-inspired TUI framework. Clean architecture, part of the Charm ecosystem. - tview
go— Rich widget library built on tcell. Tables, forms, modals — all polished. - Ink
ts— React for CLIs. Components, hooks, and the full React mental model in your terminal. - OpenTUI
ts— High-performance terminal rendering with a focus on visual fidelity. - blessed
js— A curses-like library for Node.js with a high-level terminal interface.
Prompt & Input
Libraries that make user input feel polished.
- Clack
ts— Effortlessly beautiful CLI prompts. The gold standard for onboarding flows. - @inquirer/prompts
ts— The classic, fully modernised. Modular, typed, and composable. - Huh
go— Forms and prompts from the Charm team. Feels native and refined. - promptui
go— Interactive prompts with validation. Clean and idiomatic Go. - Survey
go— Feature-rich interactive prompts. Excellent multi-select and autocomplete. - Enquirer
js— Stylish, intuitive prompts. Great for scripting interactive CLIs. - Dax
ts— Cross-platform shell scripting for Deno and Node.js with built-in prompts, progress bars, requests, and path helpers.
Styling & Output
Make your CLI output look as good as a GUI.
- Lip Gloss
go— Declarative styling for terminal layouts. Borders, padding, colours, alignment. - pterm
go— Comprehensive output library: spinners, tables, progress bars, trees. Very visual. - freeze
go— Beautiful code screenshots straight from the terminal. Charm team. - Glamour
go— Markdown rendering for the terminal. Gorgeous output with custom themes. - Chalk
js— The de facto terminal string styling library. Simple, chainable, fast. - Colorette
js— Minimal, fast terminal colours. No dependencies, no nonsense. - Kleur
js— The fastest Node.js library for ANSI colours. Tiny and chainable. - Figlet.js
js— ASCII art text banners in your terminal. Great for CLI splash screens. - lolcat
ruby— Rainbow colouring for terminal output. Pure joy. - ora
js— Elegant terminal spinner. The go-to for Node.js CLIs. - listr2
ts— Task lists with beautiful nested output. Great for CLI pipelines. - gradient-string
js— Colour gradients applied to terminal strings. Great for splash screens. - shui
zsh— A token-based design system for Zsh scripts. Semantic components, themes, and icon sets — one file to source.
CLI Tools with Great Aesthetics
Tools you use every day that happen to look exceptional.
- bat
rust— Acatclone with syntax highlighting, line numbers, and git integration. - eza
rust— A modernlswith icons, colours, and tree view. - delta
rust— Syntax-highlighted diffs for git. Transformsgit diffinto something beautiful. - gitui
rust— Blazing fast terminal-ui for git. Keyboard-driven and snappy. - bottom
rust— Customisable graphical process/system monitor for the terminal. - Starship
rust— The minimal, blazing-fast, infinitely customisable prompt. - Zoxide
rust— A smartercdcommand. Fast, minimal, and elegant. - fd
rust— A simple, fast, and user-friendly alternative tofind. - ripgrep
rust— Recursively searches directories. Faster and friendlier than grep. - lazygit
go— A simple terminal UI for git. Feels magical to use. - lazydocker
go— The same lazygit treatment for Docker. Effortless container management. - fzf
go— A command-line fuzzy finder. Deceptively powerful, universally useful. - Gum
go— Shell script glamour. Declarative, beautiful shell interactions in one binary.
Terminal Multiplexers & Shells
Environments that elevate the whole terminal experience.
- Zellij
rust— A terminal workspace with a focus on UX and discoverability. Layouts, plugins, and a beautiful default config. - Nushell
rust— A new shell with structured data, pipelines, and stunning table output.
Terminal Emulators
Emulators that take aesthetics seriously.
- WezTerm
rust— GPU-accelerated with deep Lua config. Ligatures, multiplexer, and beautiful defaults. - Alacritty
rust— The original GPU-accelerated terminal. Fast, minimal, config-driven. - Rio
rust— A hardware-accelerated terminal with a focus on performance and modern typography. - Ghostty
zig— Blazing fast, native, and visually refined. Exceptional font rendering.
Fonts
Typefaces that make reading code in a terminal a pleasure.
- Nerd Fonts — Patched fonts with thousands of icons. Essential for icon support in TUI tools.
- JetBrains Mono — Designed specifically for developers. Excellent legibility and ligatures.
- Fira Code — Monospace font with programming ligatures. The classic choice.
- Cascadia Code — Microsoft's take on a coding font. Cursive italic variant is beautiful.
- Monaspace — A superfamily of fonts from GitHub Next. Five typefaces, one system.
Colour Schemes
Themes that travel across your whole terminal stack.
- Catppuccin — Soothing pastel palette. Ports for everything: editors, terminals, TUI frameworks.
- Palenight — Deep blue-purple palette inspired by Material Design. Easy on the eyes for long sessions.
- Rosé Pine — All natural pine, faux fur and a bit of soho vibes.
- Tokyo Night — A clean, dark theme celebrating the lights of downtown Tokyo at night.
- Kanagawa — Inspired by the colours of the famous painting by Katsushika Hokusai.
- Gruvbox — Retro groove colour scheme. Warm, contrasty, and timeless.
- Nord — An arctic, north-bluish colour palette. Clean and icy.
- Dracula — A dark theme with vivid colours. One of the most ported themes in existence.
- base16 — A framework for building consistent themes across hundreds of apps.
Showcases & Inspiration
Things that exist purely to make you go "wait, that runs in a terminal?".
- Charm VHS
go— Record terminal GIFs from code. Perfect for README demos. - asciinema
rust— Record and share terminal sessions. The standard for terminal screencasting. - pipes.sh
zsh— Animated pipes in your terminal. A classic screensaver reimagined.
Contributing
This list is opinionated by design. If you have a suggestion, open an issue with a brief note on why it fits the aesthetics bar — not just utility.