Skip to content

UUID Generator

Generates UUID v1, v4, v5 and v7 in bulk, and decodes the timestamp out of a v1 or v7 value.

Generates UUIDs in the browser — v4 for plain randomness, v7 when you want the id to sort by creation time, v5 and v3 when the same input must always give the same id. It also decodes one: paste a UUID and it reads back the version, the variant bits and the timestamp buried inside a v1, v6 or v7.

🔒 Runs entirely in your browseruuidgeneratorid
Version

122 random bits. The default, and the right answer unless you need ordering.

How many

0 UUIDs

    Generated with `crypto.getRandomValues` in this tab. Nothing is requested from a server, so nobody else has ever seen these.

    Decode a UUID

    Paste any UUID to read the version, the variant bits and, for v1, v6 and v7, the timestamp inside it.

    Version and variant bits follow RFC 9562, checked against the worked examples in its Appendix A. The node id in a v1 or v6 is random with the multicast bit set — a browser has no MAC address to leak.

    How to use it

    1. Pick the version

      v4 unless you have a reason. The reason is usually ordering — a v7 carries Unix milliseconds in its first bits, so a table keyed on it stays in insertion order and its index does not fragment.

    2. Set the formatting

      Uppercase, hyphens and the `{…}` braces Windows and .NET use. These change only the text, never the 128 bits underneath.

    3. For v3 and v5, give a namespace and a name

      These versions hash the pair, so the same DNS namespace with `www.example.com` always yields the same UUID — anywhere, forever. That is the point of them, and the reason they are not random.

    4. Copy the batch, or inspect one

      Copy all takes the whole list; Inspect beside a row loads it into the decode panel, which also prints the sixteen raw bytes.

    Common questions

    Are these random enough to use as a token?

    A v4 has 122 random bits from `crypto.getRandomValues`, which is a real CSPRNG — as unguessable as any 122-bit secret. But a v1, v6 or v7 is mostly a timestamp, and a v3 or v5 is a hash of inputs someone may be able to guess. Only v4 is unpredictable.

    Does a v1 leak my MAC address?

    Not from here. The original v1 used the network card’s address, which is what gave the version its reputation. A browser has no access to one, so the node field is random with the multicast bit set — the spec’s own escape hatch for exactly this case.

    Why is a batch of v5 UUIDs not all identical?

    Because an index is appended to the name for each row — otherwise a batch of ten would be the same value printed ten times, which is correct and useless. Generate one at a time if you need the exact hash of your exact name.

    Is a UUID a good primary key?

    A v7 usually is; a v4 usually is not. Random keys scatter inserts across a B-tree and fragment the index, which is measurable on a large table. If you are already on v4 and it hurts, v7 is the migration people make.

    Feed it from

    Next

    These accept what this tool produces, so the result can go straight in.