DevsToolkit

CUID Generator

Identifiers

Generate collision-resistant, horizontally scalable CUID and CUID2 identifiers in your browser

All processing happens locally in your browser — your data never leaves your machine.
Loading tool...

Examples

CUID2 (default, 24 chars)

Input
Generate 1 CUID2
Output
tz4a98xxat96iws9zmbrgj3a

Bulk CUID2

Input
Generate 5 CUID2 values
Output
tz4a98xxat96iws9zmbrgj3a
rk5p3wxz8c1d2qbn4hjy7sef
mh3n9vqxy2bk5g8w1z4dprc6
fp7r8tcdkyq2j5e3w9bn6mxz
bc6q9pe2vfh4d8wn3sxy...

Legacy CUID v1 (25 chars)

Input
Generate 1 CUID v1
Output
ckvbsye2x0000abcd1ef2g3h4

Short CUID2 for User Codes

Input
Generate 3 CUID2 of length 10
Output
t8zq2nxy4k
h5b3rcdmnp
g7yfwq2vxe

Frequently Asked Questions

What is a CUID?
CUID (Collision-resistant Unique IDentifier) is an ID format designed for horizontal scaling and high performance. CUID2 is the modern version: a configurable-length string of lowercase letters and digits, always starting with a letter, designed to be unguessable, URL-safe, and resistant to enumeration. Legacy CUID v1 is a 25-character string starting with 'c' that encodes a timestamp, counter, fingerprint, and random block.
CUID vs UUID — when should I use CUID?
Use CUID2 when you want short, URL-safe identifiers that are also hard to guess (good for public-facing resource IDs). Use UUID v4 when interoperating with systems that expect the canonical 36-character UUID format, or when you don't mind exposing the random structure. CUID2 also avoids leaking creation time, which UUID v1, v7, and ULID do.
Is CUID2 sortable?
No. CUID2 deliberately avoids time ordering to prevent enumeration and to remove the dependency on system clocks. If you need lexicographic ordering by creation time, use ULID or UUID v7 instead.
How long should my CUID2 be?
24 characters is the recommended default and provides extremely strong collision resistance for almost any application. You can lower it (down to 2) for short user-facing codes, or raise it (up to 32) for systems with extraordinarily high generation rates. Shorter IDs are easier to type but trade away collision safety.
Is generation private?
Yes. CUIDs are generated locally using crypto.getRandomValues. No IDs leave your browser, and nothing is logged.

Related Tools