UUID v3 Generator (RFC 4122, Name-Based)
Controls
Output
Tip: Press Ctrl/Cmd + Enter to regenerate with the same settings.
XXXXXXXX
= time_low XXXX
= time_mid 3XXX
= time_hi_and_version (version = 3)XX XX
= clock_seq (variant in high bits) XXXXXXXXXXXX
= node
Understanding UUID v3
UUID v3 is a deterministic, name-based identifier defined in RFC 4122. Instead of random numbers or timestamps, it hashes a namespace UUID together with a name using MD5, and then sets the proper version (3) and variant bits. The same namespace + name pair will always produce the same 128-bit UUID, which makes v3 ideal for stable keys derived from human-readable strings.
How it works
The algorithm concatenates the 16 bytes of the namespace UUID with the UTF-8 bytes of the name, runs MD5 over that byte
sequence, and formats the 16-byte digest as a UUID: xxxxxxxx-xxxx-3xxx-yxxx-xxxxxxxxxxxx
. The high nibble of the
time_hi_and_version
field is set to 3
, and the RFC 4122 variant bits (10xx
) are applied in
clock_seq_hi_and_reserved
.
Namespaces
Common built-ins are DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8
), URL
(6ba7b811-9dad-11d1-80b4-00c04fd430c8
), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8
), and X.500 DN
(6ba7b814-9dad-11d1-80b4-00c04fd430c8
). You can also supply any custom namespace UUID to project your own identifier space.
When to use v1 vs v3 vs v5 vs v4
- v1 (time-based): Sorts by time; lightweight and widely compatible; uses clock sequence and node.
- v3: Deterministic, MD5-based; great for “same input → same ID” scenarios (e.g., usernames, hostnames).
- v5: Like v3 but uses SHA-1; often preferred in modern systems that want a stronger hash than MD5.
- v4: Random; best when you want unpredictability and no dependence on names or time.
Note: MD5 is not suitable for cryptographic signatures, but it is specified for UUID v3 and is fine for stable identifiers.