← Projects
Curated list

awesome-terminal-aesthetics

A curated list of tools and frameworks that make the terminal genuinely beautiful

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 — A cat clone with syntax highlighting, line numbers, and git integration.
  • eza rust — A modern ls with icons, colours, and tree view.
  • delta rust — Syntax-highlighted diffs for git. Transforms git diff into 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 smarter cd command. Fast, minimal, and elegant.
  • fd rust — A simple, fast, and user-friendly alternative to find.
  • 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.