⚡
ID Generators Cheatsheet
UUID v4 vs v7 vs ULID vs NanoID — format, length, and collision probability comparison.
ID Format Comparison
| Format | Length | Alphabet | Example | Notes |
|---|---|---|---|---|
| UUID v4 | 36 chars | Hex + hyphens | 550e8400-e29b-41d4-a716-446655440000 | RFC 4122, 122 random bits |
| UUID v7 | 36 chars | Hex + hyphens | 018f4e62-9f88-7e3a-9a2c-8b5d3e2f1a0b | Time-sortable, RFC 9562 |
| ULID | 26 chars | Crockford Base32 | 01ARZ3NDEKTSV4RRFFQ69G5FAV | Time-sortable, URL-safe |
| NanoID (default) | 21 chars | A-Za-z0-9_- | V1StGXR8_Z5jdHi6B-myT | ~126 bits, URL-safe |
| NanoID (compact) | 10 chars | Customizable | Be7Aq2-V4X | Higher collision risk |
| KSUID | 27 chars | Base62 | 0o5Fs0EELR0fUjHjbCnEtdUwQe3 | Time-sortable |
Collision Probability Reference
| Format | IDs for 1% Collision Risk | Bits of Randomness |
|---|---|---|
| UUID v4 | ~2.6 billion | 122 bits |
| UUID v7 | ~2.6 billion | 74 random bits + 48 timestamp bits |
| NanoID (21 chars) | ~2.6 billion | ~126 bits |
| NanoID (10 chars) | ~175,000 | ~60 bits |
| ULID | ~2.6 billion (per ms) | 80 random bits + 48 timestamp bits |