UUID generator
Runs entirely in your browser. Your files and data never leave your device.
About this tool
A UUID is a 128-bit identifier written as 32 hex digits split by dashes, such as f47ac10b-58cc-4372-a567-0e02b2c3d479. It’s meant to be unique enough that two different systems can generate IDs independently, with no central coordinator, and never collide in practice. This tool generates version 4 and version 7 UUIDs, one at a time or hundreds at once.
What’s the difference between v4 and v7?
Version 4 is fully random: 122 bits come straight from the browser’s crypto.randomUUID(), with the remaining 6 bits fixed to mark the version and variant as required by RFC 9562. That randomness is also why v4 IDs give no clue about when they were created or in what order, which is often exactly what you want for something like an API key.
Version 7 trades some of that randomness for order: its first 48 bits are the current Unix timestamp in milliseconds, and the rest is random. That means IDs generated later sort after IDs generated earlier, purely by comparing the strings, which plays much better with database indexes than v4’s scattered values. This tool builds v7 IDs by filling the buffer with cryptographically random bytes from the Web Crypto API and then overwriting the first six bytes with the current timestamp, so the random portion still comes from the same secure source as v4.
Which one should I use?
Pick v7 when the IDs are primary keys or anything that gets inserted into a database index, since sequential-ish values keep the index from fragmenting. Pick v4 when you specifically don’t want the creation time to be guessable from the ID, such as a password reset token or a session identifier.
Does this send anything to a server?
No. Every UUID is generated entirely in your browser through the Web Crypto API, which is also what the browser itself uses for things like TLS keys, so nothing is sent anywhere and you can generate as many IDs as you need for a database migration or a batch of test fixtures without it touching a server.
Common uses beyond database keys: request IDs for logging and tracing, or filler data for tests and mocks. See MDN’s crypto.randomUUID() reference for how the browser generates the randomness, and RFC 9562 for the full format, including the version and variant bits this tool sets.