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.
122 random bits. The default, and the right answer unless you need ordering.
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
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.
Set the formatting
Uppercase, hyphens and the `{…}` braces Windows and .NET use. These change only the text, never the 128 bits underneath.
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.
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
ULID & NanoID Generator
Generates sortable ULIDs or short NanoIDs with a chosen alphabet and length, and shows collision odds.
Random Key Generator
Generates cryptographic random bytes as hex, Base64 or Base64URL at a chosen length, for app secrets.
Next
These accept what this tool produces, so the result can go straight in.
Unix Timestamp Converter
Converts between epoch seconds, milliseconds, ISO 8601 and human dates in any timezone.
ULID & NanoID Generator
Generates sortable ULIDs or short NanoIDs with a chosen alphabet and length, and shows collision odds.
Random Key Generator
Generates cryptographic random bytes as hex, Base64 or Base64URL at a chosen length, for app secrets.
Base64 Encoder & Decoder
Encodes and decodes Base64 and Base64URL for text or files, handling UTF-8 correctly.
curl to Code
Converts a curl command into fetch, axios, Python requests, Go, PHP or PowerShell.
Text Hash
Computes MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC-32 of a string, with an uppercase and Base64 output option.