Skip to content
JS
Package category

CLI tools and terminal utilities

Build command-line programs: argument parsing, prompts, colours, spinners.

1,738 packages19 comparisons

Packages compared

1,738 packages
PackageWeekly downloads12-month change52 weeksGzipLast releaseModuleTypesCategories
ansi-styles
ANSI escape codes for styling strings in the terminal
536.6m+36%-1 month ago
7.0.0
ESM onlyBundledCLI tools and terminal utilities, Logging
supports-color
Detect whether a terminal supports color
425m+39%-1 month ago
11.0.0
ESM onlyBundledCLI tools and terminal utilities
chalk
Terminal string styling done right
411.5m+34%-1 month ago
6.0.0
ESM onlyBundledCLI tools and terminal utilities, Logging
strip-ansi
Strip ANSI escape codes from a string
397m+51%-6 months ago
7.2.0
ESM onlyBundledCLI tools and terminal utilities, Logging
ansi-regex
Regular expression for matching ANSI escape codes
377.3m+49%-1 month ago
6.3.0
ESM onlyBundledCLI tools and terminal utilities
commander
the complete solution for node.js command-line programs
375.2m+94%-3 months ago
15.0.0
ESM onlyBundledCLI tools and terminal utilities
string-width
Get the visual width of a string - the number of columns required to display it
374.9m+63%-today
8.3.0
ESM onlyBundledCLI tools and terminal utilities
wrap-ansi
Wordwrap a string with ANSI escape codes
316.8m+62%-4 days ago
10.0.2
ESM onlyBundledCLI tools and terminal utilities, Logging
color-convert
Plain color conversion functions
287.1m+42%-10 months ago
3.1.3
ESM onlyBundledCLI tools and terminal utilities
has-flag
Check if argv has a specific flag
274.9m+25%-5 years ago
5.0.1
ESM onlyNoneCLI tools and terminal utilities
argparse
CLI arguments parser. Native port of python's argparse.
197.9m+78%-14 days ago
3.0.2
CommonJSBundledCLI tools and terminal utilities
yargs
yargs the modern, pirate-themed, successor to optimist.
194.7m+78%-4 days ago
18.2.0
ESM onlyBundledCLI tools and terminal utilities
yargs-parser
the mighty option parser used by yargs
193.6m+64%-1 year ago
22.0.0
ESM onlyNoneCLI tools and terminal utilities
cliui
easily create complex multi-column command-line-interfaces
179.7m+79%-1 year ago
9.0.1
ESM onlyNoneCLI tools and terminal utilities
picocolors
The tiniest and the fastest library for terminal output formatting with ANSI colors
179.4m+116%-1 year ago
1.1.1
CommonJSBundledCLI tools and terminal utilities
rimraf
A deep deletion module for node (like `rm -rf`)
124.6m+38%-7 months ago
6.1.3
ESM + CommonJSBundledCLI tools and terminal utilities, Files and file systems
optionator
option parsing and help generation
115.5m+87%-2 years ago
0.9.4
CommonJSNoneCLI tools and terminal utilities
npm-run-path
Get your PATH prepended with locally installed binaries
113.1m+53%-2 years ago
6.0.0
ESM onlyBundledCLI tools and terminal utilities
word-wrap
Wrap words to a specified length.
103.4m+124%-3 years ago
1.2.5
CommonJSBundledCLI tools and terminal utilities
is-wsl
Check if the process is running inside Windows Subsystem for Linux (Bash on Windows)
101.3m+100%-7 months ago
3.1.1
ESM onlyBundledCLI tools and terminal utilities
ansi-escapes
ANSI escape codes for manipulating the terminal
95m+45%-7 months ago
7.3.0
ESM onlyBundledCLI tools and terminal utilities, Logging
cli-cursor
Toggle the CLI cursor
89.7m+72%-2 years ago
5.0.0
ESM onlyBundledCLI tools and terminal utilities
restore-cursor
Gracefully restore the CLI cursor on exit
89.7m+72%-2 years ago
5.1.0
ESM onlyBundledCLI tools and terminal utilities
slice-ansi
Slice a string with ANSI escape codes
84.5m+55%-6 days ago
9.0.1
ESM onlyBundledCLI tools and terminal utilities, Logging
is-unicode-supported
Detect whether the terminal supports Unicode
81.7m+77%-2 years ago
2.1.0
ESM onlyBundledCLI tools and terminal utilities
jackspeak
A very strict and proper argument parser.
81.1m+48%-7 months ago
4.2.3
ESM + CommonJSBundledCLI tools and terminal utilities
kleur
The fastest Node.js library for formatting terminal text with ANSI colors~!
76.6m+107%-4 years ago
4.1.5
ESM + CommonJSBundledCLI tools and terminal utilities
log-symbols
Colored symbols for various log levels. Example: `✔︎ Success`
76.2m+78%-1 year ago
7.0.1
ESM onlyBundledLogging, CLI tools and terminal utilities
arg
Unopinionated, no-frills CLI argument parser
75.4m+68%-4 years ago
5.0.2
CommonJSBundledCLI tools and terminal utilities
@isaacs/cliui
easily create complex multi-column command-line-interfaces
73.2m+89%-7 months ago
9.0.0
ESM + CommonJSBundledCLI tools and terminal utilities
ora
Elegant terminal spinner
65.1m+89%-3 months ago
9.4.1
ESM onlyBundledCLI tools and terminal utilities
tsx
TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files
63.8m+417%-5 days ago
4.23.15
ESM + CommonJSBundledTypeScript tooling, CLI tools and terminal utilities
figures
Unicode symbols with fallbacks for older terminals
59.9m+52%-2 years ago
6.1.0
ESM onlyBundledCLI tools and terminal utilities
colorette
🌈Easily set your terminal text color & styles.
57.7m+47%-3 years ago
2.0.20
ESM + CommonJSBundledCLI tools and terminal utilities
fast-xml-parser
Validate XML, Parse XML, Build XML without C/C++ based libraries
56.7m+56%-29 days ago
5.11.1
ESM + CommonJSBundledCLI tools and terminal utilities
cli-spinners
Spinners for use in the terminal
56.3m+77%-8 months ago
3.4.0
ESM onlyBundledCLI tools and terminal utilities
sisteransi
ANSI escape codes for some terminal swag
53.1m+81%-2 months ago
2.0.0
ESM onlyBundledCLI tools and terminal utilities
is-interactive
Check if stdout or stderr is interactive
49.5m+90%-5 years ago
2.0.0
ESM onlyNoneCLI tools and terminal utilities
@inquirer/core
Core Inquirer prompt API
46.7m+212%-17 days ago
12.0.3
ESM onlyBundledCLI tools and terminal utilities
prompts
Lightweight, beautiful and user-friendly prompts
46.2m+70%-4 years ago
2.4.2
CommonJSNoneCLI tools and terminal utilities
ansi-colors
Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).
45.7m+39%-4 years ago
4.1.3
CommonJSBundledCLI tools and terminal utilities, Logging
@colors/colors
get colors in your node.js console
44.3m+74%-18 days ago
1.6.1
CommonJSNoneCLI tools and terminal utilities
@inquirer/type
Inquirer core TS types
43.6m+176%-22 days ago
4.1.1
ESM onlyBundledCLI tools and terminal utilities, TypeScript tooling
consola
Elegant Console Wrapper
41.8m+156%-1 year ago
3.4.2
ESM + CommonJSBundledCLI tools and terminal utilities
progress
Flexible ascii progress bar
41.5m+90%-7 years ago
2.0.3
CommonJSNoneCLI tools and terminal utilities
string-length
Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
41.3m+24%-8 months ago
7.0.1
ESM onlyBundledCLI tools and terminal utilities, Strings and text
set-blocking
set blocking stdio and stderr ensuring that terminal output does not truncate
39.7m+59%-10 years ago
2.0.0
CommonJSNoneCLI tools and terminal utilities
import-local
Let a globally installed package use a locally installed version of itself if available
38.5m+14%-2 years ago
3.2.0
-BundledCLI tools and terminal utilities
cli-truncate
Truncate a string to a specific width in the terminal
38.4m+50%-2 months ago
6.1.1
ESM onlyBundledCLI tools and terminal utilities
@inquirer/figures
Vendored version of figures, for CJS compatibility
37.9m+216%-22 days ago
2.0.9
ESM onlyBundledCLI tools and terminal utilities, TypeScript tooling

12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package, as measured by Bundlephobia. "-" means the value has not been fetched.

  • ansi-stylesANSI escape codes for styling strings in the terminal
  • supports-colorDetect whether a terminal supports color
  • chalkTerminal string styling done right
  • strip-ansiStrip ANSI escape codes from a string
  • ansi-regexRegular expression for matching ANSI escape codes
  • commanderthe complete solution for node.js command-line programs
  • string-widthGet the visual width of a string - the number of columns required to display it
  • wrap-ansiWordwrap a string with ANSI escape codes
  • color-convertPlain color conversion functions
  • has-flagCheck if argv has a specific flag
  • argparseCLI arguments parser. Native port of python's argparse.
  • yargsyargs the modern, pirate-themed, successor to optimist.
  • yargs-parserthe mighty option parser used by yargs
  • cliuieasily create complex multi-column command-line-interfaces
  • picocolorsThe tiniest and the fastest library for terminal output formatting with ANSI colors
  • rimrafA deep deletion module for node (like `rm -rf`)
  • optionatoroption parsing and help generation
  • npm-run-pathGet your PATH prepended with locally installed binaries
  • word-wrapWrap words to a specified length.
  • is-wslCheck if the process is running inside Windows Subsystem for Linux (Bash on Windows)
  • ansi-escapesANSI escape codes for manipulating the terminal
  • cli-cursorToggle the CLI cursor
  • restore-cursorGracefully restore the CLI cursor on exit
  • slice-ansiSlice a string with ANSI escape codes
  • is-unicode-supportedDetect whether the terminal supports Unicode
  • jackspeakA very strict and proper argument parser.
  • kleurThe fastest Node.js library for formatting terminal text with ANSI colors~!
  • log-symbolsColored symbols for various log levels. Example: `✔︎ Success`
  • argUnopinionated, no-frills CLI argument parser
  • @isaacs/cliuieasily create complex multi-column command-line-interfaces
  • oraElegant terminal spinner
  • tsxTypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files
  • figuresUnicode symbols with fallbacks for older terminals
  • colorette🌈Easily set your terminal text color & styles.
  • fast-xml-parserValidate XML, Parse XML, Build XML without C/C++ based libraries
  • cli-spinnersSpinners for use in the terminal
  • sisteransiANSI escape codes for some terminal swag
  • is-interactiveCheck if stdout or stderr is interactive
  • @inquirer/coreCore Inquirer prompt API
  • promptsLightweight, beautiful and user-friendly prompts
  • ansi-colorsEasily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).
  • @colors/colorsget colors in your node.js console
  • @inquirer/typeInquirer core TS types
  • consolaElegant Console Wrapper
  • progressFlexible ascii progress bar
  • string-lengthGet the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
  • set-blockingset blocking stdio and stderr ensuring that terminal output does not truncate
  • import-localLet a globally installed package use a locally installed version of itself if available
  • cli-truncateTruncate a string to a specific width in the terminal
  • @inquirer/figuresVendored version of figures, for CJS compatibility