Online CUID2 generator
Your generated CUID2
24-character CUID2 IDs using the official library. Generate in bulk and export TXT, JSON, or CSV.
Bulk CUID2 generator
Generate 1–1000 IDs. Choose original CUID for compatibility or CUID2 for a new application, then copy or download your batch as TXT, JSON, or CSV.
CUID vs CUID2
Both formats generate collision-resistant IDs without a central coordinator. They have different structures and are not interchangeable.
Original CUID: compatibility and readable time
Original CUID includes a timestamp, counter, host fingerprint, and random data. Its author has deprecated it because the timestamp and fingerprint can expose information. This generator remains available for existing systems that require the original format.
Validate a CUID or extract its timestamp. See the original CUID documentation for the format and deprecation notice.
CUID2: hashed inputs, no readable timestamp
CUID2 hashes its inputs and produces lowercase alphanumeric IDs beginning with a letter. The default length used here is 24 characters. CUID2 is not time-sortable, and its creation time cannot be decoded from the ID.
import { createId } from "@paralleldrive/cuid2";
const id = createId();Use the CUID2 generator and consult the official CUID2 documentation for configuration. If time ordering is a requirement, compare UUID v7.
CUID2 is a collision-resistant identifier generator for distributed applications. It hashes multiple inputs, including randomness, a timestamp, a counter, and a fingerprint. The result starts with a lowercase letter and uses lowercase letters and digits.
This generator uses the official library’s default length of 24 characters. Applications using the library can configure the length. Shortening an ID increases collision risk, so choose a length for your expected generation volume.
No. CUID2 is not time-sortable and has no readable timestamp prefix. If you need time-ordered identifiers, consider UUID v7 or ULID. Store a separate creation-time field when using CUID2.
No. A timestamp contributes to the hash, but cannot be extracted from the resulting identifier. The CUID-to-timestamp converter supports original CUID only.
Yes, if your database supports the chosen string format. Use a unique constraint and handle conflicts. CUID2 does not provide time-based index locality, and database performance depends on the workload and schema.
Install @paralleldrive/cuid2, import createId, and call createId(). This site uses that library. For bulk output, choose CUID2 below and export the batch as TXT, JSON, or CSV.