
pastel
CLICommand-line color tool: generate, mix, lighten and darken colors, convert between HEX, RGB, HSL, Lab and more, build gradients and sets of distinct colors, pick readable text colors for a background, and simulate color blindness. Install via Homebrew; no account or API key.
pastel
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.
In action

Tutorial
Getting help
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.
Composition
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
Specifying colors
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
Use cases and demo
Converting colors from one format to another
pastel format hsl ff8000
Show and analyze colors on the terminal
pastel color "rgb(255,50,127)"
pastel color 556270 4ecdc4 c7f484 ff6b6b c44d58
Pick a color from somewhere on the screen
pastel pick
Generate a set of N visually distinct colors
pastel distinct 8
Get a list of all X11 / CSS color names
pastel list
Name a given color
pastel format name 44cc11
Print colorized text from a shell script
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"
Installation
On Debian-based systems
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.12.0/pastel_0.12.0_amd64.deb"
sudo dpkg -i pastel_0.12.0_amd64.deb
Alternatively, pastel is available in the official Debian repositories (currently in testing and unstable):
sudo apt update
sudo apt install pastel
On Arch Linux
You can install pastel from the Extra repositories:
sudo pacman -S pastel
On Nix
You can install pastel from the Nix package:
nix-env --install pastel
On MacOS
You can install pastel via Homebrew
brew install pastel
On Windows
You can install pastel via Scoop
scoop install pastel
With Winget
You can install pastel via Winget:
winget install sharkdp.pastel
Via snap package
sudo snap install pastel
On NetBSD
Using the package manager:
pkgin install pastel
From source:
cd /usr/pkgsrc/graphics/pastel
make install
On other distributions
Check out the release page for binary builds.
Via cargo (source)
If you do not have cargo, install using rust's installation documentation.
If you have Rust 1.83 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
Resources
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:
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Ressources associées

resvg
CLIHigh-fidelity SVG rendering library and CLI that exports SVG icons and illustrations to PNG at chosen sizes, good for batch asset export. No system dependencies, with pixel-identical output across platforms. No SVG animation support; install with cargo or grab a macOS build from Releases.
linebender/resvg4.1k
Superdesign
PluginLets coding agents read your codebase, extract a design system, then generate UI mockups, slide decks, posters and other marketing visuals on Superdesign's infinite canvas and iterate in branches. Needs @superdesign/cli and a Superdesign account; free to start.
superdesigndev/superdesign-skill802
Bencium Innovative UX Designer
SkillDevelops an original visual language for a brand, campaign, publication, site or product. Without looking at contemporary design, it builds ten typography-only HTML directions; once you lock one, it turns it into a production system. Not for routine UI fixes or existing design systems.
bencium/bencium-marketplace454
Swiss Design
SkillApplies a Swiss International Style design system with Tailwind CSS: a 12-column grid on an 8px base, IBM Plex Sans with light headings, a stone palette, hierarchy through opacity rather than hue, a single accent color, body text capped at 60ch, mobile-first layouts and dark mode.
zeke/swiss-design-skill157
Icons8 MCP Server
MCPIcons8's official remote MCP: search and preview 420,000 icons in 132 styles, drop icons straight into web pages or projects, or swap an existing icon set for a new style. Free HD PNGs with attribution link after signing in to Icons8; SVG needs a paid subscription.
icons8/icons8-mcp16
DESIGN.md
CLIGoogle Labs' DESIGN.md format and CLI: designers capture colors, typography and spacing in a file for agents; lint checks broken references and WCAG contrast, diff compares versions and export outputs design tokens for Tailwind and more. Needs Node.js; the format is in alpha.
google-labs-code/design.md28.4k