awesome-tuis/README.md
Jim Huang b2549e223e
Some checks failed
Ruby / build (push) Has been cancelled
Add kew (#248)
2024-10-05 08:38:51 -07:00

40 KiB

Awesome TUIs

List of projects that provide terminal user interfaces

Table of Contents

Dashboards

  • AdGuardian-Term A TUI dashboard for monitoring real-time traffic from an AdGuard Home instance
  • bandwhich Terminal bandwidth utilization tool
  • bashtop Resource manager written in bash
  • below A time traveling resource monitor for modern Linux systems
  • binsider A TUI for analyzing Linux binaries.
  • bmon A monitoring and debugging tool to capture networking related statistics and prepare them visually.
  • bottom A customizable graphical process/system monitor for the terminal.
  • bpytop A Python-based system monitor with lots of information.
  • btop++ Resource monitor with extras
  • cgdb Console front-end to the GNU debugger
  • chdig Dig into ClickHouse with TUI interface
  • cheatshh A fzf TUI for managing custom made command-line cheatsheet for Unix.
  • cointop The fastest and most interactive terminal based UI application for tracking cryptocurrencies
  • CoreFreq CPU monitoring software designed for the 64-bits Processors
  • damon TUI interface for Hashicorp Nomad
  • dolphie Your single pane of glass for real-time analytics into MySQL/MariaDB & ProxySQL
  • fubar Formidable Unix Binary Arsenal & Repository. TUI built for gtfobins power users.
  • Glances Glances an Eye on your system. A top/htop alternative.
  • Goaccess GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.
  • gobang A cross-platform TUI database management tool written in Rust
  • gotop A terminal based graphical activity monitor inspired by gtop and vtop
  • gping Ping, but with a graph
  • Grafterm Metrics dashboards on terminal, a Grafana inspired terminal version
  • htop Interactive text-mode process viewer for Unix systems. It aims to be a better 'top'
  • htui Heroku Terminal User Interface
  • kaskade TUI for kafka, which allows you to interact and consume topics from your terminal in style!
  • kmon Linux Kernel Manager and Activity Monitor
  • macmon Sudoless performance monitoring for Apple Silicon processors written in Rust
  • netscanner Network scanner
  • nvtop GPUs process monitoring for AMD, Intel and NVIDIA
  • oryx A TUI for sniffing network traffic using eBPF
  • Planor The Cloud Aviator, dashboard for AWS, Vultr, Heroku, ...
  • process-compose TUI for running apps and processes
  • Puffin A beautiful terminal dashboard for hledger
  • s-tui CPU stress and monitoring utility
  • sysz An fzf terminal UI for systemctl
  • tdash A terminal dashboard with stats from Google Analytics, GitHub, Travis CI, and Jenkins. Very much built specific to me
  • tegratop Monitoring tool (top like) for Nvidia jetson boards
  • TermUI Golang terminal dashboard
  • trek ncurses explorer for Hashicorp Nomad clusters
  • trippy A network diagnostic tool that includes functionality like mtr and more
  • ttop System monitoring tool with historical data service, triggers and top-like TUI
  • tufw Terminal UI for ufw
  • wander HashiCorp Nomad terminal client
  • WTF The personal information dashboard for your terminal.
  • zenith In terminal graphical metrics for your *nix system written in Rust

Development

  • act3 Glance at the last 3 runs of your Github Actions
  • amtui Alertmanager TUI - Your Terminal Companion for Alertmanager
  • ATAC A feature-full TUI API client made in Rust. ATAC is free, open-source, offline and account-less.
  • austin-tui The top-like text-based user interface for Austin
  • blinkenlights TUI that may be used for debugging x86_64-linux or i8086 programs across platforms
  • brows CLI GitHub release browser
  • burf TUI for Google Cloud Storage (GCS)
  • cnTUI Replay chrome requests from your terminal using curl
  • csope C source code browser based on cscope
  • CuTE TUI to help build, execute and save curl commands, recursively download from remote sources, test your API endpoints, and mange your keys
  • dbee Fast & Minimalistic Database Browser
  • dblab The database client every command line junkie deserves
  • ddqa Jira TUI to help with software releases
  • delta A syntax-highlighting pager for git, diff, and grep output
  • euporie Jupyter notebooks in the terminal
  • fx Terminal JSON viewer & processor
  • gitui blazing fast terminal-ui for git written in rust
  • git-crecord interactive selective commit tool
  • grv Terminal interface for viewing git repositories
  • harlequin The SQL IDE for Your Terminal
  • jqp A TUI playground to experiment with jq
  • lazygit Simple terminal UI for git commands
  • lazysql A cross-platform TUI database management tool written in Go.
  • logshark A debugger CLI for JSON logs written in Go
  • mitmproxy A free and open source interactive HTTPS proxy
  • nap Code snippets in your terminal
  • nodebro Easily view most recent Github releases/tags and release notes from the terminal
  • play A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq
  • posting A powerful HTTP client that lives in your terminal
  • prs Stay updated on PRs without leaving the terminal
  • pudb A console-based visual debugger for Python
  • pyautogit A terminal UI for managing git repositories, written using py_cui
  • runme Discover and run code snippets directly from your README.md or other markdowns
  • sls-dev-tools Dev Tools for the Serverless World
  • termdbms A TUI for viewing and editing database files.
  • terraform-tui view and interact with Terraform state
  • toolui Dotnet core application to manage installed nuget tools
  • soft-serve A tasty, self-hostable Git server for the command lineicecream
  • tig Text-mode interface for git
  • vctui Console interface for vCenter
  • violet Colorful TUI frontend to run Vagrant commands

Docker/LXC/K8s

  • ctop Top-like interface for container metrics
  • dive A tool for exploring each layer in a docker image
  • dockly Immersive terminal interface for managing docker containers and services
  • dry A Docker manager for the terminal
  • ducker A slightly quackers Docker TUI based on k9s
  • eks-node-viewer visualizing dynamic node usage within a kubernetes cluster
  • k9s TUI for managing a Kubernetes cluster
  • kdash A simple and fast dashboard for Kubernetes
  • ktop A top-like tool for your Kubernetes clusters
  • kubetui A TUI tool designed for monitoring Kubernetes resources.
  • lazydocker The lazier way to manage everything docker
  • oxker A simple tui to view & control docker containers
  • Pocker TUI based application for docker related tasks.
  • Podman-tui TUI for Podman containers
  • sen Terminal User Interface for docker engine

Editors

  • amp A complete text editor for your terminal
  • C-Edit A text editor with drop down menus in the style of MS-DOS Editor
  • helix A post-modern text editor.
  • frogmouth A Markdown browser for your terminal
  • kakoune A modern, modal text editor with focus on interactivity and efficiency
  • micro A modern and intuitive terminal-based text editor
  • orbiton Text editor limited by VT100, suitable for programming, writing git commit messages and editing Markdown
  • slap Sublime-like terminal-based text editor
  • thymus An interactive browser & editor for network configuration files.
  • turbo An experimental text editor for the terminal, based on Scintilla and Turbo Vision
  • zee A modern text editor for the terminal written in Rust

File Managers

  • adbtuifm A TUI file manager for Android, based on the Android Debug Bridge(ADB).
  • broot A new way to see and navigate directory trees
  • fff A simple file manager written in bash.
  • fml 📁 A stupid simple, fast file manager written in BASH v4.2+.
  • goful a powerful TUI file manager written in Go.
  • lf A terminal file manager written in Go with heavy inspiration from ranger file manager.
  • mc GNU Midnight Commander. A free cross-platform orthodox file manager.
  • nnn n³ The unorthodox terminal file manager.
  • ranger A VIM-inspired file manager for the console.
  • superfile Pretty fancy and modern terminal file manager.
  • TUIFIManager A cross-platform terminal-based file manager (supports termux).
  • Vifm A TUI file manager with vi-keybindings and other vim like behaviour.
  • yazi Blazing fast terminal file manager written in Rust, based on async I/O.

Games

  • 2048-cli The game 2048 for your Linux terminal
  • awkaster Pseudo-3D shooter written completely in gawk using raycasting technique
  • bastet Evil falling block game
  • botany Virtual plant buddy
  • brickgame-4bit Brick Game emulator (4-bit Holtek chip)
  • BrogueCE Beautiful roguelike dungeon crawler
  • cbonsai A bonsai tree generator
  • chess-tui Play Chess in your terminal, built in rust
  • clidle Play Wordle in your terminal. Also works over SSH!
  • DOOM-ASCII Text-based DOOM running in terminal.
  • Gameboy Emulator A PHP Terminal GameBoy Emulator
  • go-life Terminal based Conway's Game of Life
  • Greed A game of consumption. Eat as much as you can before munching yourself into a corner!
  • Micro Snake A small snake game, utilizing ANSI escape sequences to draw the board.
  • Micro Tetris One of the smallest Tetris implementations in the world, utilizing only ANSI escape sequences to draw the board.
  • moon-buggy Drive some car across the moon
  • MyMan MyMan is a video game for color and monochrome text terminals in the genre of Namco's Pac-Man
  • nchess Chess in the terminal, written in C.
  • NetHack Dungeon exploration game
  • nInvaders Space Invaders
  • nSnake The classic snake game with textual interface
  • nudoku ncurses based sudoku game
  • onx Noughts & Crosses client-server game with your partner. Based on textual and python.
  • pokete A terminal based Pokemon like game
  • Rebels in the sky P2P terminal game about spacepirates playing basketball across the galaxy.
  • snake 🎮 A super minimal TUI snake game written in pure BASH v5.1+
  • Square Tic Tac Toe Like Tic Tac Toe, but form a square with 4 corners instead of a line
  • ssHattrick Play Hattrick in your terminal over SSH.
  • sshtron multiplayer lightcycle game that runs through SSH
  • sssnake The classic snake game for the terminal that can play itself and be used like a screensaver.
  • steam-tui Just a simple TUI client for steamcmd. Allows for the graphical launching, updating, and downloading of steam games through a simple terminal client.
  • sudoku-rs Sudoku built with tui-rs
  • sweeper Minesweeper game using curtsies
  • terminal-phase Space shooter game that runs in your terminal!
  • tinytetris 80x23 terminal tetris!
  • tty-solitaire Solitaire runs in your terminal!
  • typeinc ncurses based typing speed test with various difficulty levels.
  • typing-game-cli Command line game to practice your typing speed by competing against typer-robot or against your best result
  • Wordle Script and library for Wordle, written in Raku

Libraries

  • Ashen An Elm inspired framework written in Swift
  • blessed A high-level terminal interface library for Node.js
  • blessed Blessed is an easy, practical library for making Python terminal apps
  • blessings A Python wrapper lib for ncurses that makes your code pretty to look at
  • bubbletea A Go framework based on Elm to build functional and stateful TUI apps, complete with extensions known as bubbles
  • CursedGL A C notcurses-based software rasterizer inspired by OpenGL 1.X that renders directly to the terminal.
  • Consolonia Dotnet core terminal-based GUI framework with support of XAML
  • FINAL CUT C++ library for creating terminal applications with text-based widgets
  • FTXUI 💻 C++ Functional Terminal User Interface. ❤️
  • gocui Minimalist Go package aimed at creating Console User Interfaces
  • gui.cs Console-based user interface toolkit for .NET applications
  • gum A tool for glamorous shell scripts
  • imtui An immediate mode text-based user interface C++ library, supporting 256 ANSI colors and mouse/keyboard input.
  • ink React for Node.js interactive command-line apps
  • Lanterna A Java library for creating text-based UIs, very similar to the C library curses but with more functionality.
  • moulti A CLI-driven TUI displaying arbitrary outputs inside visual, collapsible blocks. Designed with shell scripts in mind. Ansible-friendly too.
  • ncurses A classic C library with bindings for many languages
  • nimwave Build text interfaces for the terminal or browser in Nim
  • notcurses blingful character graphics/TUI library for C and Python. definitely not curses.
  • php-tui comprehensive TUI library for PHP based heavily on Ratatui.
  • pterm A modern Go module to beautify console output. Featuring charts, progressbars, tables, trees, and much more! It's completely configurable and 100% cross-platform compatible.
  • py_cui Python library aimed at making widget based TUI/CUI interfaces as simple as possible. Supports standard widgets and popups like menus, textboxes, forms, file explorers etc.
  • pytermgui A simple yet powerful TUI framework for your Python (3.7+) applications.
  • pyTermTk self-contained TUI library for Python with a QT-like API semantics
  • Python Prompt Toolkit Library for building powerful interactive command line applications in Python
  • Ratatui A Rust crate for building Terminal UIs (actively maintained fork of tui-rs).
  • Rich is a Python library for rich text and beautiful formatting in the terminal.
  • stickers Building blocks for charmbracelet/lipgloss in Go
  • tcell Tcell is an alternate Go terminal package, similar in some ways to termbox, but better in others.
  • termbox2 A terminal rendering library for creating TUIs.
  • textual is a TUI (Text User Interface) framework for Python inspired by modern web development.
  • Thermage Thermage is a PHP library that provides a fluent and incredibly powerful, object-oriented interface for customizing CLI output text color, background, formatting, theming and more.
  • TermGL A terminal-based graphics library for 2D and 3D graphics.
  • tui-go A Go UI library for terminal applications (deprecated)
  • tui-rs Terminal user interfaces and dashboards using Rust (no longer maintained, use Ratatui instead).
  • tuibox A single-header C terminal UI library, capable of creating mouse-driven, interactive applications on the command line.
  • Tui Widgets A high-level widget based toolkit for terminal applications.
  • tview Terminal UI library with rich, interactive widgets — written in Go
  • tvision A modern port of C++ Turbo Vision 2.0, cross-platform and Unicode support.
  • UniCurses A Python module that is aimed at providing the Curses functionality on all operating systems.
  • urwid A console user interface library for Python on Linux, OSX, Cygwin or other unix-like OS.

Messaging

  • aerc Email client
  • Devzat Chat over SSH, written in Golang with self-hosting ability.
  • discordo A lightweight, secure, and feature-rich Discord terminal client
  • Gomphotherium A command line Mastodon client.
  • gomuks Matrix client
  • gord TUI discord client. updated fork of the now-outdated cordless.
  • irssi An IRC terminal client
  • matterhorn A Mattermost terminal client.
  • mcabber XMPP (Jabber) client
  • meli Email client
  • Mutt Email client
  • nchat Telegram/WhatsApp client
  • nostui Nostr client
  • Profanity XMPP (Jabber) client
  • sclack Slack terminal client
  • scli A simple terminal user interface for signal messenger
  • siggo A terminal ui for signal-cli, written in Go
  • Slack-term Slack client for your terminal
  • sup A curses threads-with-tags style email client
  • Superhighway84 USENET-inspired decentralized internet discussion system
  • tgt A TUI for Telegram written in Rust
  • toot Mastodon CLI & TUI
  • tuisky TUI client for BlueSky
  • tuix TUI for managing screens
  • tut Mastodon TUI client
  • twitch-tui Twitch chat in the terminal
  • Weechat Extensible chat client
  • zulip-terminal Official Zulip terminal client (similar to matterhorn)

Miscellaneous

  • arttime An app that brings beauty of text-art together with functionality of clock, timer, and pattern-based time manager.
  • asciiMol Curses based ASCII molecule viewer for linux terminals.
  • bluetuith A TUI-based bluetooth connection manager, which can interact with bluetooth adapters and devices.
  • bluetui A TUI for managing bluetooth devices.
  • Captain's log A small TUI journaling tool
  • cava Cross-platform Audio Visualizer
  • diary A diary app written in Rust that encrypts both text and file data, and can decrypt and build a rich HTML representation of your diary when required.
  • diskonaut Terminal disk space navigator
  • distrobox-tui TUI for managing distrobox containers
  • ec2-instance-selector A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
  • emu2 A simple DOS emulator for the Linux text console, supporting basic DOS system calls and console I/O.
  • flawz A Terminal UI for browsing security vulnerabilities (CVEs)
  • fzf A general-purpose command-line fuzzy finder
  • gdu Fast disk usage analyzer with console interface written in Go
  • gif-for-cli Convert a gif into ASCII
  • godap A complete TUI for LDAP written in Golang
  • gpg-tui A terminal user interface for GnuPG
  • HumBLE Explorer A cross-platform, command-line and human-friendly Bluetooth Low Energy scanner
  • IconicFonts A collection of patched fonts featuring over 60,000 icons, tailored specifically for TUIs.
  • impala TUI for managing wifi
  • isw A simple terminal stopwatch application for pomodoro etc.
  • jrnl Collect your thoughts and notes without leaving the command line. human-friendly. future-proof. secure.
  • lnav An advanced log file viewer for the small-scale
  • mapscii Braille & ASCII world map renderer for your console
  • mqttui MQTT Client written in rust
  • moc console audio player
  • neoss Socket statistics visualization and explanation tool for Unix systems.
  • nmtui ncurses network manager
  • oha HTTP load generator
  • packemon Packet generator and monitor.
  • profanity A cross-platfrom XMPP client.
  • ncdu disk usage analyzer with an ncurses interface
  • nemu A TUI for QEMU
  • recoverpy A TUI to recover overwritten or deleted data.
  • rocket.term Text based chat client for the Rocket.chat messaging solution.
  • tcpterm tcpterm is a packet visualizer in TUI.
  • tab-pal Add and edit custom colour palettes in Tableau from the command-line.
  • terminalperiodictable A beautiful TUI periodic table for Unix systems coded in C.
  • termshark Terminal UI for tshark
  • thokr a sleek typing tui written in rust
  • tlock Two-Factor Authentication Tokens Manager in Terminal
  • ttyper Terminal-based typing test
  • tui-shop Something between a CLI and a GUI way of downloading TUIs/CLIs
  • wb A TUI vocabulary notebook app for Linux based devices.
  • wego Weather app
  • wavemon A wireless device monitoring application
  • WG Commander A TUI for a simple WireGuard VPN setup: peer management, QR codes, setup wizard.
  • wttr.in The right way to check the weather
  • xplr A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
  • x-cmd A vast and interesting collection of tools that can then bootstrap lots of other programs / functions in a consistent and structured way.

Multimedia

  • chafa A powerful utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal.
  • cmdpxl Totally practical command-line image editor
  • cmus A small, fast and powerful console music player for Unix-like operating systems.
  • draw A simple drawing tool in the terminal.
  • favicon-editor Spartan grayscale favicon editor
  • gadacz Audiobook player
  • image-sorter Terminal user interface for sorting images using key bindings written in Rust
  • invidtui A TUI Invidious client for Windows, Linux and MacOS, that fetches and plays audio/video from an invidious instance. Supports viewing and playing from playlists and channels as well.
  • kew A terminal music player for Linux
  • line Tiny command-line midi sequencer and language for live coding
  • mps-youtube Terminal based YouTube player and downloader
  • mpvc A mpc-like control interface for mpv
  • nap Linux napster client
  • ncspot Cross-platform ncurses Spotify client written in Rust
  • pyradio TUI web radio player with thousands of stations from around the world
  • RadioGoGo Go-powered CLI to surf global radio waves via a sleek TUI.
  • roku-cli A command line TUI remote for Roku
  • rmpc A configurable MPD client inspired by ncmpcpp and ranger with album art support via various graphics protocols.
  • soundcloud2000 A terminal client for soundcloud
  • spotify-player A Spotify player in the terminal with full feature parity
  • spotui Spotify client written in Python
  • terminal-yt A small newsboat-inspired terminal youtube manager
  • textual-paint MS Paint in your terminal
  • timg A terminal image viewer
  • tizonia-openmax-il Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, Dirble, Plex servers and Chromecast devices
  • upiano A Piano in your terminal
  • vlc VLC includes an ncurses interface, vlc --intf ncurses. See documentation at https://wiki.videolan.org/Console/
  • ytui-music Listen to music from youtube. Configurable, minimal, lightweight, private & beautiful music client.
  • ytdl-tui TUI for downloading Youtube videos
  • ytfzf A POSIX script that helps you find Youtube videos (without API) or Peertube videos and opens/downloads them using mpv/youtube-dl

Productivity

  • calcure Modern TUI calendar and task manager with minimal and customizable UI.
  • calcurse calendar and scheduling application for the command line
  • elia A terminal ChatGPT client build with Textual
  • fjira TUI application for Atlassian Jira
  • Glow A markdown reader, designed from the ground up to showcase the elegance and capabilities of TUI.
  • gocheat A beautiful TUI cheatsheet for keybindings,hotkeys,gestures and aliases
  • hledger-ui A fast TUI for browsing double entry bookkeeping data
  • h-m-m Hackers Mind Map
  • kabmat TUI program for managing kanban boards with vim-like keybindings
  • kanban-python Kanban Terminal App written in Python
  • khal A standards based CLI calendar program, able to synchronize with CalDAV servers
  • mcfly Intelligent context-aware search engine for your shell history
  • pagerduty-tui Minimalistic terminal UI to manage triggered incidents
  • patat Terminal-based presentations using Pandoc
  • pdiary A simple terminal diary journal application written in Python with encryption support
  • pkm A super minimal TUI package manager wrapper written in BASH v4.2+
  • pream-team a TUI utility that helps you keep track of your teams GitHub PRs across multiple repositories
  • procmux - a TUI for running multiple commands in parallel in easily switchable terminals
  • productivity-timer A command line time tracker application with a sleek TUI.
  • sc-im An ncurses spreadsheet program for terminal. Reignited version of sc
  • slides A terminal based presentation tool, supporting markdown syntax.
  • taskline Tasks, boards & notes for the command-line habitat
  • taskwarrior-tui A Terminal User Interface for Taskwarrior
  • tenere A TUI for ChatGPT written in Rust.
  • termscp A TUI file transfer and explorer, with support for SCP/SFTP/FTP/S3.
  • tmux Terminal multiplexer
  • todoman A simple, standards-based (ics, DAV), cli task-manager
  • topydo A powerful todo list application using the todo.txt format
  • ttyplot A realtime plotting utility for terminals with data input from stdin/pipe.
  • TUI_ProjectManager A simple project-based todo list written in Rust
  • tui-deck A TUI frontend for Nextcloud Deck app written in GO
  • tui-slides A terminal presentation tool capable of rendering images and many other widgets.
  • tuihub A utility hub/dashboard for personal use
  • tvterm A terminal emulator that runs in your terminal
  • Visidata A terminal spreadsheet multitool for discovering and arranging data
  • zellij A terminal workspace with batteries included
  • zeit A command line tool for tracking time spent on activities.

Web

  • bombadillo A TUI browser for the non-web: Gopher, Gemini, Finger
  • browsh A fully-modern text-based browser, rendering to TTY and browsers
  • Canard A command line TUI client for the Journalist RSS aggregator.
  • carbonyl Chromium running inside your terminal
  • castero A TUI app to listen to podcast
  • hackernews-TUI A Terminal UI to browse Hacker News
  • haxor-news Browse Hacker News like a haxor: A Hacker News command line interface (CLI)
  • LYNX A text based Terminal browser
  • newsboat An RSS/Atom feed reader for the text console
  • nyaa A nyaa.si TUI for browsing and downloading torrents
  • rtorrent A text-based BitTorrent client written in C++
  • rttt A Hackernews, RSS and Reddit reader for the terminal written in C++.
  • tblogs Read and browse development blogs from your terminal
  • twterm A full-featured TUI Twitter client
  • w3m A text-mode WWW browser

There's a crazy amount of TUI projects out there, and we can't list them all (though we try!)

For more, see awesome-opensource's TUI Projects page.

Looking for lightweight but not necessarily TUI? check out mayfrost's alternatives list!

Enjoy Vim keybinds and don't want to learn new ones? check out the Big Pile of Vim-like

First-hand reviews for a lot of these tools and many, many more at k.mandla's Inconsolation blog. The site also has a "surprise me with a random tool" link!