1 # wrap-ansi [![Build Status](https://travis-ci.org/chalk/wrap-ansi.svg?branch=master)](https://travis-ci.org/chalk/wrap-ansi) [![Coverage Status](https://coveralls.io/repos/github/chalk/wrap-ansi/badge.svg?branch=master)](https://coveralls.io/github/chalk/wrap-ansi?branch=master)
3 > Wordwrap a string with [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)
9 $ npm install --save wrap-ansi
16 const chalk = require('chalk');
17 const wrapAnsi = require('wrap-ansi');
19 const input = 'The quick brown ' + chalk.red('fox jumped over ') +
20 'the lazy ' + chalk.green('dog and then ran away with the unicorn.');
22 console.log(wrapAnsi(input, 20));
25 <img width="331" src="screenshot.png">
30 ### wrapAnsi(input, columns, [options])
32 Wrap words to the specified column width.
38 String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk).
44 Number of columns to wrap the text to.
53 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.
60 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.
65 - [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes
66 - [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal
67 - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
68 - [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.
73 MIT © [Sindre Sorhus](https://sindresorhus.com)