Generate an unique and increment id

Create a counter that returns 0, 1, 2… on successive calls.

JavaScriptNode.js & browsers Version 1.0.0 · MIT · .md

generate-an-unique-and-increment-id.js
function createIdGenerator(start = 0) {
  let id = start;
  return () => id++;
}

Usage

usage.js
const nextId = createIdGenerator();
[nextId(), nextId(), nextId()]; // → [0, 1, 2]
const other = createIdGenerator(100);
other(); // → 100

Lines marked → were executed in Node.js 22 and in headless Chromium, and each result was compared with the value shown. Lines marked e.g. are illustrative.

Know the limits

  • The original assigned to an undeclared id: a ReferenceError in strict mode and ES modules, a leaked global otherwise.
  • Unique only within one process until it restarts. For IDs shared across servers, requests or retries, use crypto.randomUUID() or a database sequence.

The function above is the code the usage lines run. It does not validate its arguments; add checks where it receives untrusted input.

Source & maintenance

Based on Generate an unique and increment id from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Declares the counter; the original assigned to an undeclared variable, which throws in strict mode and ES modules. Documented as a reference with executed usage lines. Original MDX retained as inert source evidence.

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

Usage lines executed in Node.js 22 and headless Chromium; no external services · reviewed October 28, 2026.

Keep exploring

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