Replacements for strip-ansi
Node.js
Added in v16.11.0, util.stripVTControlCharacters can be used to strip ANSI escape codes from a string.
js
import stripAnsi from 'strip-ansi'
import { stripVTControlCharacters } from 'node:util'
console.log(stripAnsi('\u001B[4me18e\u001B[0m'))
console.log(stripVTControlCharacters('\u001B[4me18e\u001B[0m'))
Deno
Deno implements the Node util
API, and also provides util.stripVTControlCharacters
. The usage is identical:
js
import stripAnsi from 'strip-ansi'
import { stripVTControlCharacters } from 'node:util'
console.log(stripAnsi('\u001B[4me18e\u001B[0m'))
console.log(stripVTControlCharacters('\u001B[4me18e\u001B[0m'))
Bun
Using Node‑compatible API
Bun also implements Node’s util.stripVTControlCharacters
through its Node compat layer:
js
import stripAnsi from 'strip-ansi'
import { stripVTControlCharacters } from 'node:util'
console.log(stripAnsi('\u001B[1mHello\u001B[0m'))
console.log(stripVTControlCharacters('\u001B[1mHello\u001B[0m'))
Using Bun's native API (>=1.2.21)
Since Bun v1.2.21, you can use the built-in Bun.stripANSI
method.
js
import stripAnsi from 'strip-ansi'
import { stripANSI } from 'bun'
console.log(stripAnsi('\u001B[31mHello World\u001B[0m'))
console.log(Bun.stripANSI('\u001B[31mHello World\u001B[0m'))