UUID v5 Generator
Derive deterministic v5 UUIDs from namespace + name via SHA-1 — the RFC-preferred name-based version, entirely on this device.
Determinism
Same namespace + name → same UUID, always
- Namespace UUID
- —
Press ? for shortcuts
Do it offline:$ npx uuid v5 example.com DNS
How to use it
- Pick a namespace: DNS, URL, OID, X.500, or Custom with a UUID of yours.
- Type the name — the v5 UUID recomputes live on every keystroke.
- Copy the result — identical inputs reproduce it anywhere; nothing needs saving.
UUID v5 is derived, not random: SHA-1 over a namespace UUID plus your name. The same inputs give the same value on any machine, forever. Type a name, pick one of the four RFC namespaces or paste your own, and the result updates live — no Generate button, no upload.
How it works
The namespace UUID's 16 bytes and the name's UTF-8 bytes are concatenated and hashed with SHA-1; the first 16 digest bytes become the identifier.
The digest loses six bits to structure — version nibble 5, variant 10; the rest is untouched SHA-1 output, which keeps the mapping stable everywhere.
Examples
namespace = DNS · name = example.comcfbff0d1-9375-5685-968c-48ce8b15ae17The classic DNS-namespace vector — the CLI line below prints exactly this value.
namespace = URL · name = café79d4db4c-73a9-5cec-bd37-4fc862e2120dNames hash as the UTF-8 bytes you typed — no Unicode normalization, so a decomposed café yields a different UUID.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
An empty name is still a name
Clearing the field is no error: you get the hash of the empty string under that namespace, and a chip says so.
Custom namespaces must be UUIDs
The Custom field accepts one canonical 8-4-4-4-12 UUID, any case; everything else is refused at the offending character.
Common errors
Custom namespace isn't a valid UUID — "z" at position 1 isn't a hex digit. Use the canonical 8-4-4-4-12 form.- Position-anchored so you can fix the one character instead of retyping the whole field.
Name is larger than the 1 MB limit for this tool.- Names are capped whole, never silently shortened — a truncated name would hash to the wrong UUID.
FAQ
Why does the same input always give the same UUID?
Nothing random is involved — the value is a SHA-1 digest of namespace plus name, six structural bits set, so re-deriving beats storing a lookup table.
Which namespace should I pick?
Match what you are naming: hosts under DNS, addresses under URL, dotted identifiers under OID, directory entries under X.500 — for anything else, mint one v4 UUID and reuse it.
Is SHA-1 a security problem here?
No — v5 uses SHA-1 to map names onto identifier bits, not to certify documents; the mapping is public by design, leaving nothing for hash breakage to protect.