
Company News
Meet the Socket Team at RSAC and BSidesSF 2026
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.
Increment strings or generate sequential string ids in node.js or browser
nextStr = incstr(str,
[alphabet=incstr.alphabet],
[numberlike=incstr.numberlike])
str - string to increment;alphabet - alphabet to use (default 'A..Za..z0..9');numberlike - 'BA' after '9' instead of 'AA'(default false);alphabet can be set through incstr.alphabet;numberlike can be set through incstr.numberlike;nextId = incstr.idGenerator(options)
id = nextId() // real generator would be too bulky "nextId.next().value"
Possible options:
options.lastId;options.alphabet;options.numberlike;options.prefix;options.suffix.lastId can also be accessed later through nextId.lastId property.
Note that nextId() is much faster than incstr() and safer because it verifies uniqueness of chars in the alphabet.
Pass a string to increment using default alphabet:
let i = incstr() // "A"
i = incstr(i) // "B"
...
i = incstr(i) // "9"
i = incstr(i) // "AA"
i = incstr(i) // "AB"
Pass a string and an alphabet to use:
incstr("ccc", "abc") // "aaaa"
incstr("cc", "ab") // throws ('c' is not in alphabet 'ab')
incstr("0", "01") // "1"
incstr("1", "01") // "00", note NOT "10"
incstr("1", "01", true) // "10", numberlike increment
Generate ids:
const nextId = incstr.idGenerator()
id1 = nextId() // 'A'
id2 = nextId() // 'B'
const nextId = incstr.idGenerator({alphabet:'ab', prefix:'id_', suffix:''})
nextId() // 'id_a'
nextId() // 'id_b'
nextId() // 'id_aa'
const nextId = incstr.idGenerator({lastId:'cc', alphabet:'abc', numberlike: true})
id = nextId() // 'baa'
FAQs
Increment string or generate sequential string ids
The npm package incstr receives a total of 20,569 weekly downloads. As such, incstr popularity was classified as popular.
We found that incstr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.

Research
/Security News
Malicious Packagist packages disguised as Laravel utilities install an encrypted PHP RAT via Composer dependencies, enabling remote access and C2 callbacks.

Research
/Security News
OpenVSX releases of Aqua Trivy 1.8.12 and 1.8.13 contained injected natural-language prompts that abuse local AI coding agents for system inspection and potential data exfiltration.