sindresorhus/string-length

Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes

171

stars

49

commits

JavaScript

primary language

Jul 25, 2026

updated

Browse cluster: Promise utilities and async patterns β†’

README

string-length

Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes

String#length erroneously counts astral symbols as two characters.

Install

npm install string-length

Usage

import stringLength from 'string-length';

'🐴'.length;
//=> 2

stringLength('🐴');
//=> 1

stringLength('\u001B[1municorn\u001B[22m');
//=> 7

API

stringLength(string, options?)

options

Type: object

countAnsiEscapeCodes

Type: boolean
Default: false

Whether ANSI escape codes should be counted. They are ignored by default.

Contributors

sindresorhus

35 commits

Richienb

5 commits

BendingBender

2 commits

hsablonniere

1 commits

sindresorhus/string-length

Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes

171

stars

49

commits

JavaScript

primary language

Jul 25, 2026

updated

Browse cluster: Promise utilities and async patterns β†’

README

string-length

Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes

String#length erroneously counts astral symbols as two characters.

Install

npm install string-length

Usage

import stringLength from 'string-length';

'🐴'.length;
//=> 2

stringLength('🐴');
//=> 1

stringLength('\u001B[1municorn\u001B[22m');
//=> 7

API

stringLength(string, options?)

options

Type: object

countAnsiEscapeCodes

Type: boolean
Default: false

Whether ANSI escape codes should be counted. They are ignored by default.

Contributors

sindresorhus

35 commits

Richienb

5 commits

BendingBender

2 commits

hsablonniere

1 commits

Languages

JavaScript

84.3%

TypeScript

15.7%