Skip to content
koducathome

UUID v5 Generator

Generate name-based version 5 UUIDs from a namespace and a name (SHA-1). The same namespace and name always give the same UUID — one per line, in bulk.

How to use this tool

Steps for using the UUID Generator.

  1. UUID v5 is selected. Choose the Namespace: URL for web addresses, DNS for domain names, OID or X.500 for those identifier systems.
  2. Enter Names — one UUID per line. Each line produces one UUID, in the same order.
  3. The UUIDs update as you type. The same namespace and name always give the same UUID, here or in any other RFC 9562 implementation.
  4. Choose an output format and Copy all or Download.

Example

The classic Python example

Namespace: DNS · Name
python.org
UUID v5 (same as Python's uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org'))
886313e1-3b8a-5372-9b90-0c9aee199e5d

Common use cases

  • Stable IDs for URLs, domains or product codes that every service can compute independently.
  • De-duplicating imported records by deriving the ID from a natural key.
  • Idempotent data migrations: re-running produces the same IDs instead of new ones.
  • Matching IDs produced by Python's uuid.uuid5, Java, .NET or other RFC 9562 libraries.

How name-based UUID v5 works

A version 5 UUID is a hash, not a random number. The generator takes the 16 bytes of the namespace UUID, appends the name encoded as UTF-8, computes SHA-1, keeps the first 128 bits and sets the version digit to 5 and the variant bits — exactly as RFC 9562 §5.5 describes.

Because nothing random is involved, the result is deterministic: the same namespace and name produce the same UUID on any machine, in any language. That lets separate systems agree on an ID for something — a URL, a domain, a product code — without sharing a database.

The four standard namespaces are fixed UUIDs defined by the RFC: URL 6ba7b811-…, DNS 6ba7b810-…, OID 6ba7b812-… and X.500 6ba7b814-…. Names are compared byte for byte, so Example.com, example.com and example.com (with a space) all give different UUIDs.

A v5 UUID hides the name only weakly: anyone who can guess the name and namespace can recompute it. Use it for stable identifiers, not for anything secret — for unpredictable IDs use UUID v4.

Limitations

  • Offers the four standard namespaces (URL, DNS, OID, X.500); a custom namespace UUID can't be entered.
  • Names are used exactly as typed — case and spaces change the result.
  • Version 3 (MD5) UUIDs can be inspected but not generated here.

Frequently asked questions

Will I always get the same UUID v5 for the same name?

Yes. UUID v5 has no random part: the same namespace and name always produce the same UUID, here and in any other standard implementation.

What is the difference between UUID v3 and v5?

Both are name-based. v3 uses MD5 and v5 uses SHA-1; RFC 9562 recommends v5 over v3. Neither is meant to keep the name secret.

Which namespace should I choose?

Use URL for full web addresses and DNS for domain names. OID and X.500 are for those identifier systems. Whatever you choose, use the same namespace everywhere the IDs must match.

Why does my UUID v5 differ from another tool's?

Usually the name differs by case, a trailing space or slash, or a different namespace was used. Check that both sides hash exactly the same bytes.