Nil UUID Generator
The nil UUID, all zeros. A spec-defined sentinel for UUID-shaped placeholder values — never confused with a real generated UUID.
Click Generate to create UUIDs
All zeros. Used as a sentinel / placeholder.
About Nil UUID
The nil UUID — 00000000-0000-0000-0000-000000000000 — is the zero value of the UUID type. RFC 4122 §4.1.7 defines it as a special-case identifier guaranteed never to be confused with a generated UUID, because no version of the generation algorithm can produce an all-zero output. Think of it as the UUID equivalent of a null pointer, an empty string, or a zero integer: a sentinel value that fits the shape of the type but carries "no value" semantics. Uses are narrow but real. Use nil as a placeholder in APIs that can't express optional UUID fields — some gRPC-generated code, older ORM schemas that require NOT NULL columns, wire protocols that lack a nullable variant. Use it as a default in database fixtures during testing, or as a "not yet assigned" marker while a migration runs. Use it as the safe output when parsing a UUID from untrusted input fails, rather than throwing or returning undefined. What not to do: store it alongside real UUIDs in a production primary-key column, because querying for the nil value can accidentally match it against NULL-replacement logic and corrupt downstream data. Because the nil UUID has no version or variant bits set (every bit is zero), it fails strict validators that check the 13th and 17th characters. Some libraries accept it as a documented special case; others reject it. Verify your UUID parsing library handles nil the way you expect before you depend on it in production.
Features
- Generate cryptographically random UUID v4 identifiers
- Create single or bulk UUIDs at once
- Copy individual or all UUIDs to clipboard
- Compliant with RFC 4122 standard
How to Use
- Click "Generate" to create a new UUID
- Set the quantity for bulk generation
- Click any UUID to copy it to your clipboard
- Use the generated UUIDs in your applications
Frequently Asked Questions
Why not just use null for a missing UUID?
When your data type is UUID (a Postgres uuid column, a gRPC message field, a Java UUID object), null may not be allowed or may require a separate nullable wrapper. The nil UUID gives you a UUID-shaped sentinel you can store in a NOT NULL column without reaching for a different type.
Is the nil UUID the same across languages?
Yes. It's defined as 128 zero bits rendered as 00000000-0000-0000-0000-000000000000. Java, Python, Go, Rust, .NET, Postgres — every mainstream language and database agrees on the format and comparison behaviour. Copy-paste between stacks without any conversion.
Can I generate multiple different nil UUIDs?
No — there's only one nil UUID. All nil UUIDs are identical by definition. The generator still lets you copy it because you'll often paste it into many places, but there's no collision to worry about and no randomness involved.
Other UUID Generator variants
UUID v4
Generate RFC 4122 compliant UUID v4 identifiers in your browser. 122 bits of cryptographic entropy — safe for database keys, idempotency tokens, and public URLs.
UUID v7
Generate RFC 9562 UUID v7 identifiers. Time-ordered UUIDs that keep database b-tree indexes tight and make bulk inserts much faster than v4.
UUID v1
Generate RFC 4122 version 1 UUIDs: Gregorian 100-ns timestamp plus random node ID. For legacy systems, Cassandra TIMEUUIDs, and older Windows COM code.
GUID (Microsoft)
Generate GUIDs in Microsoft format — uppercase UUID v4 wrapped in braces. For .NET Guid parsers, SQL Server, registry entries, and Windows tooling.