UUID generator · formatNil UUID — the zero identifier

The nil UUID has all 128 bits set to zero. It is not random but known in advance: it serves as an explicit “no identifier” where an empty value is not allowed. It has neither version nor variant. Its counterpart, the max UUID, has every bit set.

01Generator02Anatomy03Comparison04Questions05Related
01

Generator Nil UUID

the format is set — all settings and the checker are in the full generator
Count
The nil UUID never changes — a batch of zeros is pointless.
Press Generate — identifiers will appear here.
All formats, plus checking and decoding a UUID, are in the full generator →
02

How it is built: Nil UUID

Sample00000000-0000-0000-0000-000000000000
00000000-0000
every bit is zero
0
zero where the version goes: no version, not “version 0”
0
zero where the variant goes too
000000000000
neither time nor randomness

When to use it

  • A default in a column that does not allow NULL.
  • A “not assigned yet” marker in protocols and files where the field is mandatory.
  • Not a real identifier: it is the same for everyone.

How it differs from its neighbours

Against NULL: nil is a value and NULL is its absence; nil passes format checks and takes part in unique indexes, so a unique column cannot hold it twice. Against the max UUID: both are placeholders from RFC 9562; max has every bit set and is used as the upper bound of a range. Generating nil in bulk is pointless — it never changes.

03

Format comparison

FormatLengthRandomnessTime insideSortableStandard
UUID v436122 bitsnonoRFC 9562
UUID v73674 bitsms, 48 bitsyesRFC 9562
UUID v136node and counter100 ns, 60 bitsnoRFC 9562, legacy
Nil UUID36noneno—RFC 9562
NanoID21126 bitsnonoa library, not an RFC
ULID2680 bitsms, 48 bitsyesULID spec, not an RFC
04

Frequently asked questions

To state “no identifier” explicitly where a field must be filled: a NOT NULL column, a mandatory protocol field, a default in a structure. Nil is a known constant of all zeros, so absence is recognised at once. In .NET it is Guid.Empty, in Java new UUID(0, 0), and in RFC 9562 the Nil UUID.

Updated

«» added to favorites