UUID v3 Generator

Create a name-based UUID v3 by hashing a namespace and a name with MD5. Pick the DNS, URL, OID or X.500 namespace or paste your own; same input, same UUID. The result updates as you type, which makes it easy to check UUID v3 values produced by other libraries.

About this tool

What is UUID v3?

UUID version 3 is deterministic: instead of using random numbers or the clock, it is calculated from the MD5 hash of a namespace UUID followed by a name (encoded as UTF-8). Anyone who uses the same namespace and name gets exactly the same UUID, so it can be recomputed at any time without storing a mapping. Version 3 is the older of the two name-based versions. RFC 9562 recommends UUID v5 (SHA-1) for new work, so v3 is mainly used to match identifiers in an existing system.

How to use

  1. Type the text to convert in Name, for example a domain name or a URL.
  2. Choose a standard namespace from Namespace (DNS, URL, OID or X.500 DN), or type any UUID into Namespace UUID. The selector shows Custom when the namespace is not one of the standard ones.
  3. The UUID v3 appears below straight away. Copy it or download it as uuid3.txt with the buttons in the corner.

The button at the end of Namespace UUID fills in a random UUID v4, which you can use as your own application namespace.

Features

  • Live result: no button to press
  • The four predefined namespaces from the RFC, plus any custom namespace UUID
  • Spaces before or after the namespace UUID are ignored; an invalid namespace shows an error
  • One-click random namespace
  • Name, namespace and result are kept in this browser

Predefined namespaces

NamespaceUUIDUse the name as
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8A domain name, e.g. www.example.com
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8A full URL
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8An ISO object identifier
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8An X.500 distinguished name

Examples

NamespaceNameUUID v3
DNSwww.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
DNSpython.org6fa459ea-ee8a-3ca4-894e-db77e160355e
URLhttps://example.com/b9dcdff8-af4a-365d-8043-0f8361942709

The python.org value matches uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') in Python. Note the 3 at the start of the third block: it is the version number.

FAQ

What is the difference between UUID v3 and UUID v5?

Only the hash function. v3 uses MD5 and v5 uses SHA-1 (truncated to fit). The same namespace and name give different UUIDs in v3 and v5, so use the version your other systems use.

Why does my result differ from another tool?

Check that both use the same namespace and exactly the same name. Names are case-sensitive and are not trimmed, so Example.com, example.com and example.com (with a trailing space) all give different UUIDs. A URL with and without a trailing slash also differs.

Is MD5 safe enough?

UUID v3 is meant for identification, not security. Anyone who knows or guesses the name can compute the same UUID, so do not use it as a secret or an access token.

Is my input sent to a server?

No. The hash is calculated in your browser.

πŸ†” UUID v5 Generator
Turn a name into a stable UUID v5 by hashing it with a namespace using SHA-1. Use the DNS, URL, OID or X.500 namespace or your own; same name, same ID.
πŸ†” UUID v1 Generator
Generate up to 10,000 time-based UUID v1 values at once from the current timestamp, a clock sequence and a random node ID. Copy them or download a .txt file.
πŸ†” UUID v4 Generator
Generate random UUID v4 values (GUIDs) in bulk, up to 10,000 at once, using your browser's cryptographically secure random generator. Copy or download as text.
πŸ†” UUID v7 Generator
Generate time-ordered UUID v7 values, up to 10,000 at once. Each starts with a Unix timestamp in milliseconds, so they sort by creation time as database keys.
πŸ†” ULID Generator
Generate ULIDs: 26-character IDs made of a millisecond timestamp and 80 random bits in Crockford Base32. Create up to 10,000 at once, in increasing order.
πŸ†” Pairwise Test Generator
Generate pairwise (all-pairs) and n-wise test cases in your browser. Enter factors and values in a grid and exclude combinations with PICT constraints.