Strip ANSI codes from a string

Remove terminal color and cursor escape sequences.

JavaScript Version 1.0.0 · MIT · .md

strip-ansi-codes-from-a-string.js
function stripAnsi(text) { return text.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); }

Input & expected output

Input

"\u001b[31mError\u001b[0m"

Expected output

"Error"

The edge case

Input

"plain"

Expected output

"plain"

Know the limits

  • Covers SGR colors and common CSI sequences, not every operating-system command sequence.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Strip ANSI codes from a string from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Curated implementation; explicit input contract, edge case and limits. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.