Skip to content

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')) 

Released under the MIT License. (4f884625)