A Rust crate for building terminal user interfaces (TUIs) with reusable widgets and a simple rendering model.
ClementTsang/bottom
A customizable cross-platform terminal graphical monitor for processes and system resources on Linux, macOS and Windows.
Open-source alternative to:htop
- Stars
- 14,114
- Forks
- 401
- Open issues
- 107
- Last commit
- 18 days ago
What is it?
bottom (btm) is a terminal-based system and process monitor written in Rust. It displays graphs over time for CPU usage (average and per core), RAM and swap, network I/O, temperature and disk I/O, along with tables for disk capacity, temperature sensors and battery status.
The process widget lets you sort and search processes, send kill signals, and switch to a tree view that shows parent-child relationships. Graph time intervals can be zoomed, and any single widget can be expanded to fill the screen. An htop-inspired basic mode is also included.
Behaviour is controlled through command-line flags or a config file that is generated on first launch. It includes built-in and custom colour themes, adjustable layouts, and entry filtering. Shell completion files are provided for Bash, Zsh, fish, PowerShell, Elvish, Fig and Nushell.
Key features
- 01Time-series graphs for CPU, memory, network, temperature and disk I/O with zoom
- 02Process table with sorting, searching, kill signals and tree mode
- 03Disk, temperature sensor and battery information widgets
- 04Built-in and custom colour themes plus configurable layouts
- 05Official support for Linux, macOS and Windows
Use cases
- Watching CPU, memory and network load on a server or workstation from an SSH session
- Finding and terminating runaway processes from the terminal
- Replacing top or htop with a view that includes graphs and disk and temperature data
Quick start
- 1
Update Rust stable toolchain
rustup update stable - 2
Install bottom from crates.io with Cargo
cargo install bottom --locked
Things to know
- Some platforms like FreeBSD and Android are only unofficially supported.
Topics
FAQ
- What is bottom?
- A customizable cross-platform terminal graphical monitor for processes and system resources on Linux, macOS and Windows. bottom (btm) is a terminal-based system and process monitor written in Rust. It displays graphs over time for CPU usage (average and per core), RAM and swap, network I/O, temperature and disk I/O, along with tables for disk capacity, temperature sensors and battery status.
- Is bottom free to use? What license does it have?
- bottom is open source under the MIT license. Check the license terms before using it in commercial products.
- Is bottom still maintained?
- Actively maintained. The last commit to bottom was on Oct 4, 2026.
- What can I use bottom for?
- Watching CPU, memory and network load on a server or workstation from an SSH session Finding and terminating runaway processes from the terminal Replacing top or htop with a view that includes graphs and disk and temperature data
- How do I install bottom?
- Update Rust stable toolchain: rustup update stable Install bottom from crates.io with Cargo: cargo install bottom --locked
- Where can I get bottom?
- The source code and installation instructions are on GitHub: https://github.com/ClementTsang/bottom
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A btop-style terminal monitor that shows live token usage, context window, rate limits and open ports for Claude Code, Codex CLI and OpenCode sessions.
A terminal UI that renders a git commit graph as images, similar to git log --graph --all, for browsing repository history.
A terminal UI (TUI) for viewing and controlling Docker containers, with live stats, logs and exec access.
A terminal UI for rsync that manages reusable transfer profiles, previews changes as a dry-run diff, and shows live progress, including over SSH.
A small Rust CLI that prints CSV, TSV, JSON and SQLite data as stylish, auto-laid-out tables in your terminal.