kind
notes
- v4
- 122 random bits from crypto.getRandomValues; version nibble 4 and variant bits 10 fixed per RFC 9562.
- v7
- 48-bit unix millisecond, then a 12-bit counter seeded low at each new millisecond, then 62 random bits. IDs from one run are strictly increasing, so sorting them as text restores generation order.
- ulid
- 48-bit millisecond in 10 crockford base32 characters, 80 random bits in 16 more. Within one millisecond the random field is incremented, keeping the run ordered.
- short
- Characters drawn uniformly from the alphabet by rejection sampling over random bytes, no modulo bias.