ANSI Styling
Colorize terminal with ANSI colors & styles, smaller and faster alternative to Chalk.
Usage example
import ansis, { red, green, black, ansi256, hex } from 'ansis';
ansis.cyan('path/to/file')
green('Succeful!')
red`Error!`
black.bgYellow`Warning!`
ansi256(214)`Orange`
hex('#E0115F').bold.underline('Hello TrueColor!')
🚀 Install and Quick Start
📖 Read full docs on GitHub
🏆 Compare & Benchmark
See the features comparison and benchmarks of most popular terminal colors libraries:
ansis
chalk
kleur
kolorist
colors.js
colorette
picocolors
ansi-colors
cli-color
colors-cli
.
💡 Highlights
- Supports ESM, CommonJS, TypeScript, Bun, Deno, Next.JS
- Standard API compatible with Chalk
- Default and named import
import ansis, { red, green, bold, underline } from 'ansis'
- Chained syntax
red.bold.underline('text')
- Nested template strings
red`RED text ${green`GREEN text`} RED text`
- Base ANSI styles
dim
bold
italic
underline
strikethrough
- Base ANSI 16 colors
red`Error!`
redBright`Error!`
bgRed`Error!`
bgRedBright`Error!`
- ANSI 256 colors
fg(56)`violet`
bg(208)`orange`
- TrueColor (RGB, HEX)
rgb(224, 17, 95)`Ruby`
, hex('#96C')`Amethyst`
- Fallback to supported color space: TrueColor → 256 colors → 16 colors → no colors
- ANSI codes as
open
and close
properties `Hello ${red.open}World${red.close}!`
- Strip ANSI codes method
ansis.strip()
- Correct style break at the
end of line
when used \n
in string - Supports CLI
NO_COLOR
FORCE_COLOR
--no-color
--color
- Doesn't extend
String.prototype
- Zero dependencies
License
ISC