UUID v5 Generator
Generate a deterministic, namespace-based UUID (version 5, SHA-1) from a namespace and a name — the same inputs always produce the same UUID.
…
How to use
- Choose a namespace — DNS, URL, OID, X.500, or a custom UUID you paste in.
- Enter the name to hash (for example a domain or URL).
- Copy the resulting version-5 UUID; it's stable for the same namespace and name.
About this tool
ShowHide
A version-5 UUID is a hash, not a draw. SHA-1 is run over a namespace UUID followed by a name, the first sixteen bytes become the identifier, and six bits are overwritten to record the version and variant. The consequence is that the same namespace and the same name always produce the same UUID, on any machine, in any language, forever — which is the whole point, and the opposite of version 4's randomness. Choose one of the four standard namespaces or paste your own, type a name, and the hashing happens locally through the Web Crypto API.
The determinism is what makes it useful. If every service in a system derives a record's identifier from a stable natural key — a URL, a domain, a file path, an account number — they all arrive at the same UUID without coordinating, without a shared counter and without a round trip to ask what the ID is. Re-importing the same data twice produces the same identifiers, so an idempotent upsert becomes possible without a lookup table mapping old keys to new ones.
Two details decide whether your UUIDs match everyone else's. The namespace is hashed as its sixteen raw bytes, not as the thirty-six-character text with hyphens — hashing the string is the single most common way an implementation ends up producing plausible-looking UUIDs that no other library agrees with. And the name is hashed as bytes too, so the encoding matters: the same name in UTF-8 and UTF-16 gives two different UUIDs, and the RFC leaves the choice to the namespace's own convention rather than mandating one. This tool uses UTF-8, which is what every common library does.
What version 5 is not is a security mechanism. The input is recoverable in the sense that anyone who can guess the name can compute the UUID, so deriving one from an email address does not conceal the address from someone checking a guess. SHA-1 is also no longer collision-resistant against a determined adversary, which does not matter for identifiers you generate from your own data and does matter if an attacker chooses the names.
Frequently asked questions
How is v5 different from v4?
Version 4 is random — every call gives a different UUID. Version 5 is deterministic: it's the SHA-1 hash of the namespace plus the name, so identical inputs always produce an identical UUID.
What are the standard namespaces?
RFC 4122 defines four: DNS, URL, OID and X.500, each a fixed UUID. Use DNS for domain names, URL for URLs, or supply your own namespace UUID for your application.
Is v5 secure or reversible?
It's a one-way hash, so you can't recover the name from the UUID, but it isn't a secret — anyone with the same namespace and name gets the same value. Don't use it to hide data.
Why not version 3?
Version 3 uses MD5 instead of SHA-1. The Web Crypto API in browsers doesn't support MD5, and v5 is the recommended modern equivalent, so this tool produces v5.
Related tools
XPath Tester
Run an XPath expression against XML or HTML in your browser and see every node it matches, with namespace prefixes and parse errors reported.
Developer
JSON Sort Keys
Sort the keys of a JSON object alphabetically. Optionally recurse into nested objects so the whole document is canonicalized.
Developer
Hash Generator (SHA)
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text.
Developer
UUID Generator
Generate random version-4 UUIDs in bulk, with copy.
Developer
HMAC Generator (SHA-1 / 256 / 384 / 512)
Compute HMAC signatures with Web Crypto — sign webhook payloads, verify API requests, hex or base64 output.
Developer
UUID Inspector (Version, Variant, Time)
Paste any UUID to see its version (1–8), variant and — for time-based v1, v6 and v7 — the embedded timestamp, clock sequence and node/MAC.
Developer