strip-ansi

Strips ANSI escape codes from strings — the small, fast utility Node.js later built directly into its own core API.

Library
npm
v7.2.0
498stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
41/100Fair
Development Activity4
Maintenance20
Community60
Maturity60
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
65/100Good
Architecture70
Code Quality90
Innovation55
Learning Curve45

strip-ansi is a minimal, dependency-light JavaScript utility that removes ANSI escape codes — the invisible control sequences terminals use for color, cursor movement, and hyperlinks — from a string. Maintained by Sindre Sorhus as part of the chalk organization’s suite of terminal utilities, it pairs with ansi-regex to match the full range of ANSI sequences, including OSC hyperlinks and 8-bit CSI introducers.

The package ships ESM-only with bundled TypeScript types and no build step. It underpins the broader terminal-color ecosystem (chalk, has-ansi, and countless CLI tools), and its behavior was influential enough that Node.js adopted the same logic directly into its own core util.stripVTControlCharacters API.

What You Get

  • A single default-exported stripAnsi() function with zero configuration
  • Bundled TypeScript type declarations (index.d.ts) with no separate @types package needed
  • A fast-path optimization that skips the regex entirely when no escape/CSI bytes are present
  • Support for both 7-bit ESC and 8-bit CSI introducers, plus OSC hyperlink sequences

Common Use Cases

  • Stripping color codes from captured CLI output before logging, diffing, or storing it
  • Sanitizing terminal output for length calculations (e.g. computing visible string width)
  • Cleaning subprocess stdout/stderr before writing to log files or test snapshots
  • Feeding plain text to non-terminal consumers such as web UIs or CI output parsers

Under The Hood

Architecture strip-ansi has no internal architecture to speak of by design: it’s a single-file module (index.js) exporting one function that validates its input, applies a fast-path bail-out when no escape-sequence bytes are present, and otherwise runs a single .replace() call against a precompiled regex sourced from the ansi-regex package. There are no layers, no internal abstractions, and nothing to break beyond that one function — which is appropriate for its scope: a single-purpose string transform, not an application.

Tech Stack The package is plain JavaScript published as an ES module ("type": "module"), targeting Node.js 12+, with a single runtime dependency on ansi-regex for pattern matching. It ships hand-written TypeScript declarations (index.d.ts) rather than being authored in TypeScript, has no build step, and is tested with ava, type-checked with tsd, and linted with xo.

Code Quality Test coverage in test.js runs a focused but comprehensive set of cases through ava — color codes, mixed reset/set sequences, terminal hyperlinks, OSC sequences terminated by BEL, and 8-bit CSI introducers — plus an explicit test that plain strings pass through untouched. Type correctness is enforced separately via tsd against index.test-d.ts. Error handling is explicit: non-string input throws a descriptive TypeError rather than failing silently. Linting is enforced via xo, and CI runs via GitHub Actions workflows in .github/.

API Design The public API is about as low-friction as a package can get: one default export, one argument, one return value, no configuration object, no instantiation. The accompanying index.d.ts doc comment includes runnable usage examples inline, so editors surface real examples on hover. The tradeoff for this simplicity is that stripping behavior is fixed — there’s no way to opt out of stripping OSC hyperlinks specifically, for example — but for a package this narrowly scoped, that’s a reasonable design choice rather than a limitation.

Used by 30 apps in this directory

JavaScript
95%
MIT

AnythingLLM

Developer Tools · Automation · AI Assistants

65,696

The all-in-one AI platform for private document chat, no-code agents, and local LLMs with zero setup friction.

View details
90
Repo Health
78
Technical
64
Dependency
Built with
JavaScript95%
Updated 3 days ago
Rust
67%
MIT

Bun

Developer Tools

95,895

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
64
Dependency
Built with
Rust67%
C++19%
Updated yesterday
TypeScript
98%
Apache 2.0

Cline

AI Code Assistants

67,585

An open-source AI coding agent that lives in your editor and terminal — reads and edits your codebase, runs commands, browses the web, and requires human approval for every action by default.

View details
89
Repo Health
74
Technical
65
Dependency
Built with
TypeScript98%
Updated 2 days ago
TypeScript
98%
Apache 2.0

Codebuff

AI Code Assistants

11,750

An open-source AI coding assistant that coordinates specialized agents to edit your codebase from natural language — including Freebuff, a free, ad-supported version powered entirely by open-source models like DeepSeek and Kimi.

View details
85
Repo Health
71
Technical
67
Dependency
Built with
TypeScript98%
Updated yesterday
JavaScript
90%
Other

CodeSandbox

Code Editors · Developer Tools

13,640

Instantly ready browser-based IDE that runs full npm dependency resolution and transpilation entirely client-side, with no server needed.

View details
69
Repo Health
76
Technical
62
Dependency
Built with
JavaScript90%
Updated 1 weeks ago
TypeScript
84%
Apache 2.0

Continue

Developer Tools · AI Development · AI Code Assistants

35,808

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
81
Repo Health
88
Technical
62
Dependency
Built with
TypeScript84%
Updated yesterday
TypeScript
81%
Other

Directus

CMS · Low Code Platforms

37,783

Connect any SQL database and get instant REST and GraphQL APIs, a visual management Studio, and a native MCP server for AI agents — free for most organizations.

View details
92
Repo Health
82
Technical
76
Dependency
Built with
TypeScript81%
Vue18%
Updated 3 days ago
TypeScript
94%
AGPL 3.0

Element Web

Team Chat · Collaboration

13,437

A polished, self-hostable Matrix client for secure, decentralized messaging and collaboration that puts your organization in full control of its data.

View details
96
Repo Health
83
Technical
65
Dependency
Built with
TypeScript94%
Updated yesterday
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,772

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
66
Dependency
Built with
TypeScript75%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search