True Random UUID Generator - Bulk v4 & v7 UUIDs Online
Generate universally unique identifiers in version 4 (fully random) or version 7 (time-ordered), one at a time or up to 1,000 in bulk — right in your browser.
Pick a UUID version, choose how many you need, and click the generate button. Options let you switch to uppercase or strip the hyphens before copying.
True Random UUID Generator - Bulk v4 & v7 UUIDs Online
Generate universally unique identifiers in version 4 (fully random) or version 7 (time-ordered), one at a time or up to 1,000 in bulk — right in your browser.
Fetches 128 bits of atmospheric-noise entropy from RANDOM.ORG and uses it to seed a local PRNG that supplies the random bits of every UUID in the batch. Falls back to the local CSPRNG if random.org cannot be reached.
Version 4 is fully random: 122 of the 128 bits come straight from the secure random source.
About the UUID generator
A UUID (universally unique identifier, also called a GUID on Windows platforms) is a 128-bit value written as 32 hexadecimal digits in five hyphen-separated groups, following the pattern xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, where M encodes the version and N encodes the variant. Because the value space is astronomically large, two properly generated UUIDs will, for every practical purpose, never collide — which is why they are the default choice for database primary keys, API request IDs, file names, distributed tracing, message deduplication, and any situation where independent systems must mint identifiers without coordinating with each other.
This UUID generator runs entirely in your browser. Every identifier is built from crypto.getRandomValues(), the cryptographically secure random source provided by the Web Crypto API, rather than the predictable Math.random(). Nothing you generate is sent to a server, logged, or stored: close the tab and the identifiers exist only where you pasted them. That makes the tool safe to use even for identifiers that will end up in production systems.
Two versions are supported, both defined by RFC 9562 (which obsoleted the original RFC 4122 in 2024). Version 4 is the classic fully random UUID: apart from six fixed version and variant bits, all 122 remaining bits are random. Version 7 is the modern time-ordered alternative: its first 48 bits hold the Unix timestamp in milliseconds, followed by random bits. Because the timestamp comes first, v7 identifiers created later sort lexically after earlier ones. That single property makes them dramatically friendlier to database indexes — B-tree pages fill sequentially instead of being written to at random — so v7 is now the recommended default for new primary keys in PostgreSQL, MySQL, and most other stores. Choose v4 when you specifically do not want identifiers to reveal creation time.
The bulk option produces up to 1,000 identifiers at once, one per line, ready to paste into a seed script, spreadsheet, or test fixture. Formatting toggles convert the output to uppercase (both cases are equally valid per the specification, which recommends emitting lowercase) or strip the hyphens for systems that store the bare 32-digit form. One honest limitation: uniqueness is probabilistic, not registered — no generator can guarantee that an identifier was never used elsewhere, and UUIDs are identifiers, not secrets, so never use one as a password or access token.
An optional true-random mode ties the generator to a physical source of randomness. When selected, the tool fetches eight 16-bit integers derived from atmospheric radio noise via RANDOM.ORG's public HTTP interface — your browser talks to random.org directly, with no server of ours in between — and combines them into a single 128-bit seed for the sfc32 pseudorandom generator. Every UUID in the batch then draws its random bits from that seeded generator, so the whole batch traces back to physical randomness rather than to an algorithmic state; in v7 mode the 48-bit timestamp field still comes from your clock, exactly as in local mode, and the version and variant bits are set identically. The honest trade-off: the seed is genuinely random, but the expansion into many identifiers is deterministic once seeded, and the seed integers travel over the network — perfectly fine for identifiers, which is why the local CSPRNG remains the default and an equally sound choice. If random.org is unreachable or its per-IP quota is exhausted, the tool automatically falls back to crypto.getRandomValues(), shows a note saying so, and the source badge under the results always states which path actually produced your identifiers.
UUID generator examples
Typical settings and what you get back from them.
| Settings | Output | Notes |
|---|---|---|
| v4, count 1, default formatting | One 36-character identifier of the form xxxxxxxx-xxxx-4xxx-Nxxx-xxxxxxxxxxxx | The third group always begins with 4 (the version digit); N is one of 8, 9, a, or b (the variant). |
| v7, count 1 | A time-ordered identifier whose third group begins with the version digit 7 | The first 12 hex digits encode the Unix millisecond timestamp, so later IDs sort after earlier ones. |
| v4, count 100, remove hyphens | 100 lines of 32 bare hex digits each | Handy for systems that store the compact form, such as some legacy schemas and URL slugs. |
| v7, count 1000, uppercase | 1,000 uppercase identifiers, one per line | Bulk mode caps at 1,000 per click; run it again for more. Uppercase and lowercase are equivalent. |
How to generate UUIDs
- Choose the version: v4 for fully random identifiers, v7 for time-ordered identifiers that sort by creation time.
- Enter how many you need in the count box — anywhere from 1 to 1000.
- Optionally tick the uppercase or remove-hyphens boxes to change the output format.
- Click the generate button, then copy everything with the clipboard button or select lines from the output box.
UUID generator FAQ
What is the difference between UUID v4 and UUID v7?
v4 is entirely random apart from its version and variant bits. v7 puts a 48-bit Unix millisecond timestamp in front of the random bits, so identifiers sort by creation time. Use v7 for database keys where insert locality matters, and v4 when creation time must not be inferable from the ID.
Can two UUIDs ever collide?
In theory yes, in practice no. A v4 UUID has 122 random bits, so you would need to generate about 2.7 quintillion identifiers to reach even a 50% chance of a single duplicate. For any real workload the collision risk is far below that of hardware failure.
Is this generator cryptographically secure?
The random bits come from crypto.getRandomValues(), a CSPRNG seeded by the operating system, so the identifiers are unpredictable. That said, UUIDs are identifiers, not secrets — do not use them as passwords, session tokens, or API keys.
Are the UUIDs sent to a server or stored anywhere?
No. Generation happens in your browser with the Web Crypto API. Nothing is transmitted, logged, or persisted; refreshing the page discards everything.
Are uppercase UUIDs valid, and can I remove the hyphens?
RFC 9562 says output should be lowercase but parsers must accept both cases, so uppercase is valid everywhere in practice. The hyphens are purely presentational — many databases store the bare 32-digit form — but tools that expect the canonical 36-character layout will want them kept.
Does a v7 UUID leak information?
Only its creation time, to millisecond precision — the remaining bits are random. If exposing when a record was created is unacceptable for your use case, choose v4 instead.