Yoctocolors
The smallest and fastest command-line coloring package on the internet
Install / Use
/learn @sindresorhus/YoctocolorsREADME
<sup>yoctocolors 🌈</sup>
The smallest and fastest command-line coloring package on the internet
Check out Chalk if you want something more mature and comprehensive.
Highlights
- Tiny
- Fast
- Handles nested colors
- Tree-shakeable
- No dependencies
- Actively maintained
Install
ESM:
npm install yoctocolors
Or CommonJS:
npm install yoctocolors-cjs
Usage
import colors from 'yoctocolors';
console.log(colors.red('Yo!'));
console.log(colors.blue(`Welcome to the ${colors.green('yoctocolors')} package!`));
You can also import colors as named imports:
import {red, blue, green} from 'yoctocolors';
console.log(red('Yo!'));
console.log(blue(`Welcome to the ${green('yoctocolors')} package!`));
This package supports basic color detection. Colors can be forcefully enabled by setting the FORCE_COLOR environment variable to 1 and can be forcefully disabled by setting NO_COLOR or NODE_DISABLE_COLORS to any value. More info.
Styles
Modifiers
reset- Reset the current style.bold- Make the text bold.dim- Make the text have lower opacity.italic- Make the text italic. (Not widely supported)underline- Put a horizontal line above the text. (Not widely supported)overline- Put a horizontal line below the text. (Not widely supported)inverse- Invert background and foreground colors.hidden- Print the text but make it invisible.strikethrough- Put a horizontal line through the center of the text. (Not widely supported)
Colors
blackredgreenyellowbluemagentacyanwhitegrayredBrightgreenBrightyellowBrightblueBrightmagentaBrightcyanBrightwhiteBright
Background colors
bgBlackbgRedbgGreenbgYellowbgBluebgMagentabgCyanbgWhitebgGraybgRedBrightbgGreenBrightbgYellowBrightbgBlueBrightbgMagentaBrightbgCyanBrightbgWhiteBright
Prior art
Yes
Benchmark
$ ./benchmark.js
┌─────────┬────────────────┬─────────────┐
│ (index) │ library │ ops/sec │
├─────────┼────────────────┼─────────────┤
│ 0 │ 'yoctocolors' │ '8,000,000' │
│ 1 │ 'colorette' │ '8,000,000' │
│ 2 │ 'picocolors' │ '8,000,000' │
│ 3 │ 'nanocolors' │ '5,988,024' │
│ 4 │ 'chalk' │ '4,807,692' │
│ 5 │ 'kleur/colors' │ '4,807,692' │
│ 6 │ 'kleur' │ '4,784,689' │
│ 7 │ 'ansi-colors' │ '2,178,649' │
│ 8 │ 'cli-color' │ '585,138' │
└─────────┴────────────────┴─────────────┘
See benchmark.js.
FAQ
What is yocto?
It was the smallest official unit prefix in the metric system until 2022. Much smaller than nano.
Related
- yoctodelay - Delay a promise a given amount of time
- chalk - Terminal string styling
Related Skills
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
333.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.0kCommit, push, and open a PR
