Convert ANSI escape sequences to human readable text.
This utility converts ANSI escape sequences to human readable text. It supports color, style and cursor control escapes and works with vanilla sequences as well as the output from libraries like chalk
, colors
, ansi-escapes
, ansi-styles
or terminal-kit
.
npm add -D pretty-ansi
For example, it can be useful to test the output of a command line tool:
import assert from "node:assert";
import test from "node:test";
import prettyAnsi from "pretty-ansi";
test("command output", () => {
const commandOutput = "\u001b[3;32mSuccess!\u001b[0m";
assert.strictEqual(prettyAnsi(commandOutput), "<italic, green>Success!</>");
});
Currently only 16 colors are all supported.
Keep in mind that the escape sequences are not validated. Unrecognized sequence will print as <ESC>[a1b2c3
, or as <?>
in case this is a color or style sequence.
jest-serializer-ansi-escapes
— Jest snapshot serializer for ANSI escape sequences.