UUID v3 Generator
Generate deterministic UUIDs by MD5-hashing a namespace UUID together with a name. Same input always produces the same UUID.
Your V3 UUID
V3UUIDs from the same namespace + name are deterministic and identical every time.
What is UUID v3?
UUID v3 is the "name-based, MD5" variant. The algorithm:
- Take the 16-byte namespace UUID and the name (any string).
- Concatenate them and feed them into MD5 — the output is a 16-byte hash.
- Overwrite 6 bits to set the version (3) and variant (2).
- Format the result as the standard 8-4-4-4-12 string.
Because the algorithm is deterministic, every caller using the same namespace + name produces the same UUID — across machines, languages, and time. This is the property that makes v3 (and v5) useful as a way to derive a stable identifier from existing data.
Standard RFC namespaces
RFC 4122 / 9562 namespace UUIDs
DNS 6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL 6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID 6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.500 6ba7b814-9dad-11d1-80b4-00c04fd430c8How to generate UUID v3 in your code
JavaScript / TypeScript
import { v3 as uuidv3 } from 'uuid';
const id = uuidv3('example.com', uuidv3.DNS);
// Always: '9073926b-929f-31c2-abc9-fad77ae3e8eb'Python
import uuid
id = uuid.uuid3(uuid.NAMESPACE_DNS, 'example.com')
print(str(id))
# → '9073926b-929f-31c2-abc9-fad77ae3e8eb'Java
import java.util.UUID;
import java.nio.charset.StandardCharsets;
// java.util.UUID.nameUUIDFromBytes() implements v3 (MD5)
UUID id = UUID.nameUUIDFromBytes("namespace+name".getBytes(StandardCharsets.UTF_8));Frequently asked questions
UUID v3 is a deterministic UUID computed by MD5-hashing a namespace UUID concatenated with a name (any string). The same namespace + name always produces the same UUID, which makes v3 useful when you need a stable, reproducible identifier derived from existing data — for example, the same email address always mapping to the same UUID.