UUID / Hash Tools
UUID Generator
Create single or batch UUIDs for records, logs, and request tracing.
Understand the format
How UUID Generator works
A UUID is a 128-bit identifier that any machine can generate independently, without asking a central service whether the value is already taken.
What the 36 characters actually contain
A UUID is 128 bits printed as 32 hexadecimal digits in five hyphen-separated groups of 8-4-4-4-12. Two of those digits are not random: the first digit of the third group encodes the version, and the first digit of the fourth group encodes the variant. In a version 4 UUID you will always see a 4 at that position and one of 8, 9, a, or b at the variant position, which leaves 122 bits of actual randomness.
Uniqueness therefore comes from probability rather than coordination. With 122 random bits, you would need to generate on the order of a billion UUIDs per second for roughly a century before a collision became likely. That is why services can mint identifiers offline, on a phone, or in a queue consumer without a shared sequence.
Version 4 and version 7 solve different problems
Version 4 is entirely random, which makes it excellent for correlation identifiers and terrible for database index locality. Because consecutive inserts land in random positions of a B-tree index, write-heavy tables suffer page splits and a larger working set.
Version 7, standardised in RFC 9562, puts a 48-bit Unix millisecond timestamp in the high bits and fills the rest with randomness. The result still looks like a UUID and remains globally unique, but values generated later sort after values generated earlier. That restores index locality and gives you a rough creation time for free, at the cost of revealing when the identifier was created.
Step by step
How to use UUID Generator
- Choose the version: v4 for random identifiers, v7 when you want time-ordered keys.
- Set how many identifiers you need, up to 25 per batch.
- Toggle hyphens, braces, and uppercase to match the format the destination system expects.
- Press Generate UUIDs, then copy the list or export it as CSV for seeding and test data.
Identifiers are generated in your browser with crypto.randomUUID and crypto.getRandomValues. Nothing is requested from or reported to a server.
Troubleshooting
Common mistakes and how to fix them
- Using a UUID in a URL as though it were an access token.
- Unguessable is not the same as authorised. Check permissions on the server for every request, even when the identifier is random.
- Storing UUIDs as 36-character text in a large table.
- Where the database supports it, use a native UUID or 16-byte binary column. The text form roughly doubles the storage and the index size.
- Expecting version 4 values to sort by creation time.
- They are random. Either keep a created_at column or switch to version 7.