Awesome
Awesome Unique ID
A curated list of awesome Unique ID libraries and resources.
Unique identifiers are used everywhere. This list contains awesome projects you can use that generate IDs or hash them for security.
Contents
Generation
Polyglot
- uuidv7 (RFC9562 uuidv7 reference) - UUID 128-bit unique identifier that is time-sortable with 1 ms precision.
JavaScript
- uuid (npm) - Simple, fast generation of RFC4122 UUIDS.
- ulid (npm) - Universally Unique Lexicographically Sortable Identifier.
- cuid2 (npm) - Secure, collision-resistant ids optimized for horizontal scaling and performance. Next generation uuids.
- nanoid (npm) - A tiny, secure URL-friendly unique string ID generator for JavaScript.
- crypto-random-string (npm) - Generate a cryptographically strong random string.
- yeast (npm) - Yeast is a unique id generator.
- shortid (npm) - Amazingly short non-sequential url-friendly unique id generator.
- lodash.uniqueid (npm) - The lodash method uniqueId exported as a Node.js module.
- uniqid (npm) - A Unique Hexatridecimal ID generator.
- puid (npm) - Generate a unique ID depending on time, machine and process for use in a distributed environment.
- flake-idgen (npm) - Flake ID generator yields k-ordered, conflict-free ids in a distributed environment.
- get-uid (npm) - Simple random id generator.
- uniqueid (npm) - Generate sequential IDs, with optional prefix or suffix.
- hyperid (npm) - Uber-fast unique id generation, for Node.js and the browser.
- uid (npm) - Generate unique ids of any length.
- uid-safe (npm) - URL and cookie safe UIDs.
- uuid-readable (npm) - Generate Easy to Remember, Readable UUIDs, that are Shakespearean and Grammatically Correct Sentences.
- human-id (npm) - Generates human-readable identifier strings by chaining common (short) words of the English language.
- unique-sequence (npm) - Generate short sequential strings.
- breezeid (npm) - Easily generate unique, human-first IDs
- Sqids (npm) - Sqids is a small JavaScript library to generate YouTube-like ids from numbers.
- ksuid (npm) - K-Sortable Globally Unique IDs
Python
- muid (PyPI) - Generates IDs whose hashes are, in part, memorable. See video explanation
Go
- xid - Xid is a globally unique id generator thought for the web.
- ksuid - K-Sortable Globally Unique IDs.
Hash
Research
- Articles/papers
- The definitive guide to modulo bias and how to avoid it - Generate unbiased random numbers.
- Efficiently generating a number in range - Discusses performance problems in PRNGs and many algorithms.
- Understanding modulo bias
- Collision calculators