C CLI & TUI Tools

27 tools for the terminal written in C. Sorted by GitHub stars; the most starred are Neovim, FFmpeg and tmux.

Tools

Neovim

Neovim

Extensible text editor forked from Vim with async job control, embedded terminal, and language API access

103.2kC
FFmpeg

FFmpeg

Collection of libraries and command-line tools (ffmpeg, ffplay, ffprobe) for converting, streaming, playing and inspecting audio, video and subtitles.

66.0kC
tmux

tmux

Terminal multiplexer that creates, manages, and controls multiple terminal sessions from a single screen

50.0kC

wrk

HTTP benchmarking tool that generates high load using multithreaded design and event notification systems

40.4kC
mpv

mpv

Free command-line media player supporting many audio/video formats, codecs and subtitle types, with GPU shader-based rendering and optional hardware decoding.

37.6kC
jq

jq

Command-line JSON processor for slicing, filtering, mapping and transforming structured data

36.0kC

hashcat

Password recovery tool that cracks hashes on GPUs and CPUs using CUDA, HIP, Metal or OpenCL, with 590+ hash modes and 10 attack modes.

27.2kC

The Silver Searcher

High-performance code search tool, faster alternative to ack with git ignore support and parallel processing

27.1kC
radare2

radare2

Command-line reverse engineering framework for disassembling, analyzing, emulating, debugging and patching binaries across many architectures and file formats.

25.2kC
fastfetch

fastfetch

System information tool that displays hardware and OS details with customizable ASCII art logos and module configuration

25.2kC
nnn

nnn

Terminal file manager with disk usage analysis, batch operations, and extensive plugin ecosystem

22.1kC
GoAccess

GoAccess

Real-time web server log analyzer written in C that shows HTTP statistics in a terminal or a live HTML dashboard, with JSON and CSV export.

21.1kC
ImageMagick

ImageMagick

Open-source C software suite with a command-line interface and APIs for creating, editing, converting, and composing bitmap images in 200+ formats.

17.8kC

Nmap

Network scanner for host discovery, port scanning, service and OS detection, with a scripting engine (NSE) for extra checks.

13.9kC
tig

tig

ncurses-based text-mode interface for browsing Git repositories and staging changes

13.4kC

ttyd

Command-line tool that shares a terminal command over the web, served via libuv and rendered in the browser with WebGL2, with SSL and basic auth.

12.6kC
nvtop

nvtop

htop-like GPU and accelerator task monitor supporting NVIDIA, AMD, Intel, Apple, and other vendors

11.1kC
htop

htop

Cross-platform interactive process viewer with real-time system monitoring and process management

8.4kC

CAVA

Cross-platform bar spectrum audio visualizer for the terminal or SDL desktop window, with PipeWire, PulseAudio, ALSA, JACK and other input backends.

6.5kC

cmus

Console music player for Unix-like systems with ncurses interface and optional input/output plugins for many audio formats and backends.

6.3kC

entr

Runs arbitrary commands when files change using kqueue or inotify to avoid polling

5.7kC
Chafa

Chafa

Command-line utility that converts images and animated GIFs into ANSI/Unicode character art or terminal graphics formats, built on a C library.

5.4kC
jo

jo

Command-line utility to create JSON objects and arrays from shell arguments and piped input

4.9kC
NeoMutt

NeoMutt

Terminal email client that collects community patches against Mutt, with Notmuch, NNTP, sidebar, compressed folders and header cache options.

3.9kC
weechat

weechat

Terminal-based chat client with modular plugin architecture and multi-protocol support, primarily for IRC

3.4kC
irssi

irssi

Terminal-based IRC client with modular architecture and support for multiple chat protocols

3.2kC

elinks

Text-based web browser with frame/table support, scripting, and extensive customization options

643C

Guides