awesome-tuis/README.md
2023-09-16 18:34:32 -07:00

28 KiB

Awesome TUIs

List of projects that provide terminal user interfaces

Table of Contents

Dashboards

  • bashtop Resource manager written in bash
  • below A time traveling resource monitor for modern Linux systems
  • 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.
  • btop++ Resource monitor with extras
  • cointop The fastest and most interactive terminal based UI application for tracking cryptocurrencies
  • ctop Top-like interface for container metrics
  • CoreFreq CPU monitoring software designed for the 64-bits Processors
  • damon TUI interface for Hashicorp Nomad
  • dockly Immersive terminal interface for managing docker containers and services
  • dry A Docker manager for the terminal
  • eks-node-viewer visualizing dynamic node usage within a kubernetes cluster
  • fff A simple file manager written in bash.
  • fubar Formidable Unix Binary Arsenal & Repository. TUI built for gtfobins power users.
  • Glances Glances an Eye on your system. A top/htop alternative.
  • Glow Render markdown on the CLI, with pizzazz!
  • Goaccess GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.
  • 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
  • k9s TUI for managing a Kubernetes cluster
  • kmon Linux Kernel Manager and Activity Monitor
  • lazydocker The lazier way to manage everything docker
  • nnn n³ The unorthodox terminal file manager
  • nvtop GPUs process monitoring for AMD, Intel and NVIDIA
  • Planor The Cloud Aviator, dashboard for AWS, Vultr, Heroku, ...
  • Podman-tui TUI for Podman containers
  • sen Terminal User Interface for docker engine
  • 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
  • TermUI Golang terminal dashboard
  • trek ncurses explorer for Hashicorp Nomad clusters
  • ttop System monitoring tool with historical data service, triggers and top-like TUI
  • 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

  • austin-tui The top-like text-based user interface for Austin
  • burf TUI for Google Cloud Storage (GCS)
  • cnTUI Replay chrome requests from your terminal using curl
  • 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
  • gitui blazing fast terminal-ui for git written in rust
  • git-crecord interactive selective commit tool
  • grv Terminal interface for viewing git repositories
  • jqp A TUI playground to experiment with jq
  • lazygit Simple terminal UI for git commands
  • mitmproxy A free and open source interactive HTTPS proxy
  • nap Code snippets in your terminal
  • pyautogit A terminal UI for managing git repositories, written using py_cui
  • pudb A console-based visual debugger for Python
  • runme Discover and run code snippets directly from your README.md or other markdowns
  • sls-dev-tools Dev Tools for the Serverless World
  • terraform-tui view and interact with Terraform state
  • 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

Editors

  • amp A complete text editor for your terminal
  • 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
  • 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

Games

  • 2048-cli The game 2048 for your Linux terminal
  • bastet Evil falling block game
  • botany Virtual plant buddy
  • cbonsai A bonsai tree generator
  • clidle Play Wordle in your terminal. Also works over SSH!
  • 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!
  • 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
  • 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
  • snake 🎮 A super minimal TUI snake game written in pure BASH v5.1+
  • sshtron multiplayer lightcycle game that runs through SSH
  • 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!
  • 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
  • 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 notcurses-based software rasterizer inspired by OpenGL 1.X that renders directly to the terminal.
  • FINAL CUT 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 library, supporting 256 ANSI colors and mouse/keyboard input.
  • ink React for interactive command-line apps
  • Lanterna A Java library for creating text-based UIs, very similar to the C library curses but with more functionality.
  • ncurses
  • nimwave Build text interfaces for the terminal or browser
  • notcurses blingful character graphics/TUI library. definitely not curses
  • 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.
  • tcell Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
  • 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.
  • tui-go A 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 terminal UI library, capable of creating mouse-driven, interactive applications on the command line.
  • tview Terminal UI library with rich, interactive widgets — written in Golang
  • tvision A modern port of 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
  • 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
  • toot Mastodon CLI & TUI
  • tut Mastodon TUI client
  • twitch-tui Twitch chat in the terminal
  • Weechat Extensible chat client

Miscellaneous

  • adbtuifm A TUI file manager for Android, based on the Android Debug Bridge(ADB).
  • adguardian A TUI dashboard for monitoring real-time traffic from an AdGuard Home instance.
  • 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.
  • broot A new way to see and navigate directory trees
  • 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.
  • dive A tool for exploring each layer in a docker image
  • draw Draw in your terminal
  • 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.
  • fzf A general-purpose command-line fuzzy finder
  • gif-for-cli Convert a gif into ASCII
  • gobang A cross-platform TUI database management tool written in Rust
  • gpg-tui A terminal user interface for GnuPG
  • HumBLE Explorer A cross-platform, command-line and human-friendly Bluetooth Low Energy scanner
  • 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
  • neoss Socket statistics visualization and explanation tool for Unix systems.
  • nmtui ncurses network manager
  • oha HTTP load generator
  • profanity A cross-platfrom XMPP client.
  • ncdu disk usage analyzer with an ncurses interface
  • 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.
  • termdbms A TUI for viewing and editing database files.
  • termshark Terminal UI for tshark
  • thokr a sleek typing tui written in rust
  • ttyper Terminal-based typing test
  • tui-shop Something between a CLI and a GUI way of downloading TUIs/CLIs
  • vifm A TUI file manager with vi-keybindings and other vim like behaviour.
  • 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.

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.
  • favicon-editor Spartan grayscale favicon editor
  • 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.
  • 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
  • ncspot Cross-platform ncurses Spotify client written in Rust
  • pyradio TUI web radio player with thousands of stations from around the world
  • roku-cli A command line TUI remote for Roku
  • soundcloud2000 A terminal client for soundcloud
  • spotify-tui Spotify for the terminal written in Rust
  • spotui Spotify client written in Python
  • 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
  • fml 📁 A stupid simple, fast file manager written in BASH v4.2+
  • fjira TUI application for Atlassian Jira
  • goful a powerful TUI file manager written in Go
  • 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
  • khal A standards based CLI calendar program, able to synchronize with CalDAV servers
  • lf A terminal file manager written in Go with heavy inspiration from ranger file manager.
  • mcfly Intelligent context-aware search engine for your shell history
  • 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+
  • 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.
  • ranger A VIM-inspired filemanager for the console
  • sc-im An ncurses spreadsheet program for terminal. Reignited version of sc
  • taskline Tasks, boards & notes for the command-line habitat
  • taskwarrior-tui A Terminal User Interface for Taskwarrior
  • tmux Terminal multiplexer
  • todoman A simple, standards-based (ics, DAV), cli task-manager
  • topydo A powerful todo list application using the todo.txt format
  • TUIFIManager A cross-platform terminal-based file manager (supports termux)
  • TUI_ProjectManager A simple project-based todo list written in Rust
  • tuihub A utility hub/dashboard for personal use
  • Visidata A terminal spreadsheet multitool for discovering and arranging data
  • zelliji A terminal workspace with batteries included
  • Vifm File manager with Vim bindings and scripting/configuration style
  • 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
  • Rainbowstream A smart and nice Twitter client on terminal written in Python
  • rttt A Hackernews, RSS and Reddit reader for the terminal written in C++.
  • rtv Browse Reddit from your terminal
  • 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!

Tim's blog cover more tools for no X, over ssh, and all CLI (not necessarily TUI tho).