A few seconds.


Wordwrap a string with ANSI escape codes

wrap-ansi Build Status Coverage Status

Wordwrap a string with ANSI escape codes


$ npm install --save wrap-ansi


const chalk = require('chalk');
const wrapAnsi = require('wrap-ansi');

const input = 'The quick brown ' + chalk.red('fox jumped over ') +
    'the lazy ' + chalk.green('dog and then ran away with the unicorn.');

console.log(wrapAnsi(input, 20));


wrapAnsi(input, columns, [options])

Wrap words to the specified column width.


Type: string

String with ANSI escape codes. Like one styled by chalk.


Type: number

Number of columns to wrap the text to.



Type: boolean
Default: false

By default the wrap is soft, meaning long words may extend past the column width. Setting this to true will make it hard wrap at the column width.


Type: boolean
Default: true

By default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is false, each column will instead be completely filled splitting words as necessary.

  • slice-ansi - Slice a string with ANSI escape codes
  • cli-truncate - Truncate a string to a specific width in the terminal
  • chalk - Terminal string styling done right
  • jsesc - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.


MIT © Sindre Sorhus

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.