Modern ID Generator
Generate ULID, UUIDv7, Nanoid, KSUID or CUID2 identifiers in bulk.
Overview
The Modern ID Generator emits identifiers in five widely-used formats — ULID, UUIDv7, Nanoid, KSUID and CUID2 — in bulk, with copy-to-clipboard and CSV export. Pick the format, set the count, and the tool delivers IDs that are short enough for URLs, sortable by creation time where the spec allows and globally unique without a central authority.
This generator is aimed at backend developers picking a primary-key format, frontend engineers needing throwaway widget keys, DBAs migrating off auto-increment integers and engineers seeding test data. Long-tail searches like "ulid vs uuidv7 generator", "bulk nanoid for primary keys" and "time-sortable identifier online" all resolve here.
How it works
Each format has a different layout but shares the same cryptographic random source under the hood. ULID packs a 48-bit Unix-millisecond timestamp and 80 random bits into a 26-character Crockford base-32 string. UUIDv7 stores a 48-bit timestamp in the high bits of a standard UUID, leaves the version and variant fields untouched and fills the remaining 74 bits with randomness — it is monotonically sortable and a drop-in replacement for UUIDv4. KSUID is a 27-character base-62 string with a 32-bit timestamp plus 128 bits of randomness. CUID2 uses a hash-based construction with no timestamp leak, prioritising collision resistance over sortability. Nanoid is a configurable-length URL-safe identifier drawing from a 64-character alphabet.
All formats draw their entropy from the OS CSPRNG, so probabilistic uniqueness holds even at billions of IDs per second. The tool batches generation in memory and streams the result so large counts (10k+) remain instant.
Examples
ULID → 01ARZ3NDEKTSV4RRFFQ69G5FAV
UUIDv7 → 0190a4f0-7e9c-7b3a-9c1f-3e8d2a4b5c6d
Nanoid (21 chars) → V1StGXR8_Z5jdHi6B-myT
KSUID → 1srOrx2ZWZBpBUvZwXKQmoEYga2
FAQ
Which format should I use for new tables?
UUIDv7 if you want a drop-in UUID with insert-friendly ordering. ULID if you want a shorter, case-insensitive base-32 string. CUID2 if collision resistance matters more than sortability.
Are these IDs really unique?
With 80-128 random bits per ID, the chance of collision in any realistic system is vanishingly small. The cryptographic source removes any predictable patterns.
Does the timestamp leak?
ULID, UUIDv7 and KSUID embed a creation timestamp. CUID2 hides it deliberately for use cases where ID order should not reveal creation time.
Can I customise the Nanoid alphabet?
Yes. Pick a custom alphabet and length; the tool keeps an even bit-distribution to avoid bias.
How fast is bulk generation?
Tens of thousands of IDs generate in well under a second. The bottleneck is rendering them on the page, not the generator itself.