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.