javascript

SCRU128: Sortable, Clock and Random number-based Unique identifier

npm License

SCRU128 ID is yet another attempt to supersede UUID for the users who need decentralized, globally unique time-ordered identifiers. SCRU128 is inspired by ULID and KSUID and has the following features:

import { scru128, scru128String } from "scru128";
// or on browsers:
// import { scru128, scru128String } from "https://unpkg.com/scru128@^3";

// generate a new identifier object
const x = scru128();
console.log(String(x)); // e.g., "036z951mhjikzik2gsl81gr7l"
console.log(x.toBigInt()); // as a 128-bit unsigned integer

// generate a textual representation directly
console.log(scru128String()); // e.g., "036z951mhzx67t63mq9xe6q0j"

See SCRU128 Specification for details.

CommonJS support

The CommonJS entry point is deprecated and provided for backward compatibility purposes only. The entry point is no longer tested and will be removed in the future.

License

Licensed under the Apache License, Version 2.0.

See also