UUID generator
Choose version 4 for a random identifier or version 7 when keys should sort roughly by creation time. Both follow RFC 9562 and are drawn in this tab. Paste one back to see its variant and RFC section. An RFC 9562 variant also names the version and, for version 7, the embedded millisecond timestamp in UTC and local time.
Generate
Inspect a UUID
- Version
- ·
- Generated
- ·
- Variant
- ·
- Requests
- · from Resource Timing
- Script
- · KB of a 100 KB budget
Version 4 and version 7 solve different jobs
A version 4 UUID looks like 128 bits of randomness and is not. Four bits are the
version field, which is why the first character of the third group is always
4, and two more are the variant field, which is why the first character
of the fourth group is always 8, 9, a or
b. What is left is 122 random bits.
Version 7 replaces the first 48 bits with the Unix timestamp in milliseconds. The remaining 74 unfixed bits are random. Newly generated identifiers sort roughly by creation time, which improves index locality without exposing a machine address. Values created in the same millisecond are randomly ordered; this generator does not claim strict monotonic ordering.
Paste one back
The inspect field is the differentiator. Paste a UUID, including one this page just made, and the panel names the variant nibble and the RFC 9562 section. An RFC 9562 variant also names the version, and for version 7 the timestamp in UTC and in this browser's local zone. The bit view is 32 nibble cells with the variant (17th) marked, and the version (13th) marked only when the panel names a version. A well-formed UUID with a reserved variant is named, not decoded as a version.
Walk the two named exceptions
Paste 00000000-0000-0000-0000-000000000000. The panel must print the Nil
UUID line from RFC 9562 §5.9: variant bits 00, a named exception, not a malformed
UUID, and not version 0. Paste ffffffff-ffff-ffff-ffff-ffffffffffff. That
is the Max UUID in §5.10: variant bits 11, also a named exception. If a generator
treats either of those as ordinary versioned identifiers, it is not following the
document it cites.
Then generate one version 7 and paste it into the same field. The first 48 bits are a Unix millisecond timestamp. The panel prints that instant in UTC and in this browser's local zone. Values created in the same millisecond are randomly ordered; this generator does not claim strict monotonic ordering, and it will not invent a sequence counter to pretend otherwise.
What this page will not generate
Version 1 embeds a MAC address. Version 3 and version 5 are name-based: they hash a namespace and a name, which is a different job than drawing an identifier. Version 2 is DCE security. None of those are on the version menu. Version 1 is not offered. It embeds a MAC address, which this page will not put in an identifier.
This page does not generate ULIDs or NanoIDs. Those names sit on the same register row. This URL ships UUID only. UUIDs are identifiers, not secrets. Version 7 includes a creation time by design. If you want a secret, use the password generator, which is the page that treats unguessability as the product.
Every UUID is drawn from crypto.getRandomValues, never from a non-cryptographic pseudo-random source.
Questions
Is there a keyboard shortcut?
Control+Enter on Windows and Linux, or Command+Enter on a Mac, generates a new set when focus is inside the tool. Space is left alone so it still scrolls the page.
Are these generated on a server?
No. They are generated in this tab, which is why they arrive instantly and why the count can go to 1000 without a rate limit. Nothing is recorded.
Is this the same as a GUID?
Yes. GUID is Microsoft's name for the same 128-bit identifier, which is why the brace-wrapped form exists: that is the format the Windows tooling prints. The bytes are identical.
Why is there a version character?
It is the field that says which kind of UUID this is. Version 4 is random. Version 7 is time-ordered random. A parser reads that nibble to know how to interpret the rest, so it is set deliberately rather than left to chance.
Can I use one as a password?
At 122 bits the arithmetic says the identifier is unguessable. UUIDs still get logged, put in URLs, and pasted into tickets, because everyone treats them as identifiers rather than secrets. If you want a secret, use the password generator.
Related tools
For a secret rather than an identifier, the password generator draws from the same random source and prints the entropy. To fingerprint a value rather than invent one, use the hash generator. And the JSON formatter is next door for the payload these identifiers usually end up in.