pastel
is a command-line tool to generate, analyze, convert and manipulate colors. It supports many different color formats and color spaces like RGB (sRGB), HSL, CIELAB, CIELCh as well as ANSI 8-bit and 24-bit representations.
pastel
provides a number of commands like saturate
, mix
or paint
. To see a complete list, you can simply run
pastel
To get more information about a specific subcommand (say mix
), you can call pastel mix -h
or pastel help mix
.
Many pastel
commands can be composed by piping the output of one command to another, for example:
pastel random | pastel mix red | pastel lighten 0.2 | pastel format hex
Colors can be specified in many different formats:
lightslategray
'#778899'
778899
789
'rgb(119, 136, 153)'
'119,136,153'
'hsl(210, 14.3%, 53.3%)'
Colors can be passed as positional arguments, for example:
pastel lighten 0.2 orchid orange lawngreen
They can also be read from standard input. So this is equivalent:
printf "%s\n" orchid orange lawngreen | pastel lighten 0.2
You can also explicitly specify which colors you want to read from the input. For example, this mixes red
(which is read from STDIN) with blue
(which is passed on the command line):
pastel color red | pastel mix - blue
pastel format hsl ff8000
pastel color "rgb(255,50,127)"
pastel color 556270 4ecdc4 c7f484 ff6b6b c44d58
pastel pick
pastel distinct 8
pastel list
pastel format name 44cc11
bg="hotpink"
fg="$(pastel textcolor "$bg")"
pastel paint "$fg" --on "$bg" "well readable text"
pastel paint -n black --on red --bold " ERROR! "
echo " A serious error"
pastel paint -n black --on yellow --bold " WARNING! "
echo " A warning message"
pastel paint -n black --on limegreen --bold " INFO "
echo -n " Informational message with a "
echo -n "highlighted" | pastel paint -n default --underline
echo " word"
You can download the latest Debian package from the release page and install it via dpkg
:
wget "https://github.com/sharkdp/pastel/releases/download/v0.8.1/pastel_0.8.1_amd64.deb"
sudo dpkg -i pastel_0.8.1_amd64.deb
You can install pastel
from the AUR package:
yay -S pastel
You can install pastel
from the Nix package:
nix-env --install pastel
You can install pastel
via Homebrew
brew install pastel
You can install pastel
via Scoop
scoop install pastel
sudo snap install pastel
Using the package manager:
pkgin install pastel
From source:
cd /usr/pkgsrc/graphics/pastel
make install
Check out the release page for binary builds.
If you do not have cargo, install using rust's installation documentation.
If you have Rust 1.43 or higher, you can install pastel
from source via cargo
:
cargo install pastel
Alternatively, you can install pastel
directly from this repository by using
git clone https://github.com/sharkdp/pastel
cargo install --path ./pastel
Interesting Wikipedia pages:
- Color difference
- CIE 1931 color space
- CIELAB color space
- Line of purples
- Impossible color
- sRGB
- Color theory
- Eigengrau
Color names:
- XKCD Color Survey Results
- Peachpuffs and Lemonchiffons - talk about named colors
- List of CSS color keywords
Maximally distinct colors:
- How to automatically generate N "distinct" colors?
- Publication on two algorithms to generate (maximally) distinct colors
Other articles and videos:
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.