Identifiers · UUID, NanoID, ULIDUUID generator

Generates UUID v4, v7, v1 and nil, plus NanoID and ULID — up to 50 at once. Checks someone else's UUID: version, variant and the creation time of v1 and v7. All in your browser.

01Settings02Result03Check04About IDs05Questions06Related
01

Generator settings

Format
Count
Case
02

Result

Press Generate — identifiers will appear here.
03

Check and decode a UUID

version, variant and creation time
Paste a UUID
Valid UUID
Versionv7 · time-basedVariant: RFC 9562 (formerly RFC 4122)
Created2022-02-22 19:22:22.000 UTC—
Read as017f22e2-79b0-7cc3-98c4-dc0c0c07398f→017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Fields
unix_ts_ms
017f22e279b0
rand_a
cc3
var + rand_b
98c4dc0c0c07398f
04

About identifiers: which format to pick

A UUID is a 128-bit identifier that is unique without a central registry: two servers issue values at the same time and a collision is practically impossible. The standard is RFC 9562, which updated RFC 4122 in 2024. Versions differ in what is inside: randomness (v4), time and node (v1), Unix time and randomness (v7). Next to them sit two non-standard but popular formats: the short NanoID and the sortable ULID.

UUID v4

Default
550e8400-e29b-41d4-a716-446655440000
Fully random: 122 random bits and six fixed ones — the version digit 4 and the variant 8, 9, a or b. The default in most libraries and databases. It reveals nothing, but has no order either: it cannot be sorted by creation time.

UUID v7 and ordering

RFC 9562
017f22e2-79b0-7cc3-98c4-dc0c0c07398f
The first 48 bits are Unix time in milliseconds, so new values are larger than old ones and go to the end of an index. A random v4 as a primary key scatters inserts across the whole index: pages split and the index bloats. Large tables use v7 for keys.

UUID v1

Legacy
c232ab00-9414-11ec-b3c8-9f6bdeced846
Time to 100 ns since 1582 plus a node — historically the MAC address. Time is stored low bits first, so v1 strings do not sort by time; v6 and v7 fix that. Here the node is random with the multicast bit set, as the RFC requires.

NanoID

For URLs
V1StGXR8_Z5jdHi6B-myT
21 characters instead of 36 from a 64-character URL-safe alphabet — and 126 random bits, slightly more than v4. Length and alphabet are adjustable: shorter is more compact but leaves less margin before a collision. There is no time inside and the order is random.

ULID and UUID v7

Sortable
01ARYZ6S41TSV4RRFFQ69G5FAV
Both start with 48 bits of millisecond time and sort by creation. v7 is an RFC 9562 standard and fits a uuid column; ULID is a separate spec but shorter to write (26 Crockford Base32 characters) and hard to misread: the alphabet has no I, L, O or U.

Collisions

No magic
2¹²² ≈ 5.3 × 10³⁶ v4 values
For the chance of even one v4 collision to reach one half you need about 2.7 × 10¹⁸ values — a billion per second for 86 years. The one condition is cryptographic randomness, as with crypto.getRandomValues here. A poor generator is more dangerous than any of the maths.
05

Frequently asked questions

Pick a format and press generate — you can produce up to fifty values at once and copy them as a list or save them to a file. UUID versions 4, 7 and 1 are available, the nil UUID for an explicitly empty value, and two neighbouring formats: the short NanoID for addresses and the sortable 26-character ULID.

Updated

«» added to favorites