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](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)
9 $ npm install 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">
31 <a href="https://tidelift.com/subscription/pkg/npm-wrap_ansi?utm_source=npm-wrap-ansi&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
35 Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
44 ### wrapAnsi(input, columns, [options])
46 Wrap words to the specified column width.
52 String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk).
58 Number of columns to wrap the text to.
69 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.
76 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.
83 Whitespace on all lines is removed by default. Set this option to `false` if you don't want to trim.
88 - [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes
89 - [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal
90 - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
91 - [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.
96 - [Sindre Sorhus](https://github.com/sindresorhus)
97 - [Josh Junon](https://github.com/qix-)
98 - [Benjamin Coe](https://github.com/bcoe)
103 To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.