pal — terminal palette switcher

Switch your terminal's color palette instantly. 420 themes compiled into a single static binary — no config, no runtime deps.

Go 1.21+
Palettes 420
Dependencies zero
License MIT
Binary size ~2.5 MB
⭐ GitHub 📖 Usage 🎨 Palettes
✨ Features
🎨
420 Palettes
Dracula, Nord, Gruvbox, Monokai, Solarized, Rose Pine, One Dark, and hundreds more — all compiled in.
Instant Apply
Writes OSC escape sequences directly to stdout. Your terminal recolors in milliseconds.
📦
Zero Dependencies
All palette data embedded via //go:embed. One binary, nothing else needed.
🖥️
Cross-Terminal
Works in xterm, VTE, iTerm2, Kitty, Alacritty, WezTerm, and any terminal supporting OSC sequences.
🎲
Random Mode
Discover new themes with pal random. Each invocation picks a different one from 420.
📄
Shell Export
Export a theme as a shell printf one-liner for .bashrc — no binary needed at startup.
🚀 Quick Start
# macOS — Homebrew
$ brew install binRick/tap/pal

# Linux — pre-built static binary
$ curl -fsSL https://github.com/binRick/pal/releases/latest/download/pal-linux-amd64 -o pal
$ chmod +x pal && sudo mv pal /usr/local/bin/

# apply a palette
$ pal dracula-dark
$ pal random
Applied: rose-pine-dark

More options: RPM, Windows, build from source →