Free

UUID Generator (v4 & v7)

Random v4 or time-ordered v7, up to a thousand at a time, from your browser's own secure random source - never Math.random.

  • Free forever
  • No signup
  • Runs in your browser

At a glance

Takes
A version and how many you want
Returns
UUIDs in bulk, ready to copy or download
Handles
v4 and v7 - v7 sorts by time, which is what a primary key usually wants
Privacy
Generated in your browser from the platform's own CSPRNG

Nothing you type leaves this page

This tool runs entirely in your browser. Nothing you type or paste is sent to Revquix or to anyone else, no account is needed, and the page keeps working with your network disconnected.

Full detail in our privacy policy and AI policy.

How this works

About UUID Generator

What it checks, what it deliberately does not, and how to read the output.

v4 or v7 - the choice actually matters

A v4 UUID is 122 random bits. That is exactly what you want for anything that must be unguessable: a share link, a password-reset token, an identifier exposed to the public. It is also exactly what you do not want as a database primary key, because consecutive inserts land in random positions of the index, so each one dirties a different page and the hot part of the index never stays in cache. On a large, write-heavy table that is measurable write amplification rather than a theoretical concern.

A v7 UUID, standardised in RFC 9562 in 2024, puts a 48-bit millisecond timestamp in the high bits and fills the rest with randomness. Values therefore sort by creation time and inserts append to the end of the index, which is the behaviour you wanted from an auto-increment column without the coordination an auto-increment column needs. The trade is that a v7 leaks its creation time, so it is the wrong choice wherever v4's unguessability was the point.

  • v4 for tokens, share links and any public identifier
  • v7 for primary keys, event ids and anything sorted by time
  • Nil and Max for sentinel values and range bounds
  • Uppercase, braces and hyphen-free variants for .NET and char(32) columns

Where the randomness comes from

Values are drawn from crypto.getRandomValues, the browser's cryptographically secure generator. Math.random is never used, not even as a fallback, and if a platform has no secure source this tool reports an error instead of producing something. That is a deliberate refusal: a v4 built from a weak generator is indistinguishable from a good one by inspection, and somebody will eventually use it as a session token.

Nothing is generated on a server, so no identifier you take from this page has been transmitted, logged or seen by anyone else.

Inspecting one

Paste any UUID and the tool reports its version, its variant, and for a v7 the timestamp encoded in it, rendered as a real date. That last part is also the tool's own proof that the timestamp is really there rather than a claim in the copy.

What it will not do

It does not generate v1 or v6. Both encode a MAC address, which is a hardware identifier leaking out of an application identifier, and v7 supersedes both for the ordering property that was their only real advantage. It also does not generate v3 or v5, which are name-based hashes rather than random values and require a namespace argument that makes them a different tool.

It will not tell you whether two UUIDs came from the same generator, and it cannot verify that a v7's timestamp is honest - a timestamp is data, and data can be written by hand.

FAQ

Questions people actually ask

The ones that come up before somebody uploads anything.

Should I use v4 or v7 for a database primary key?

v7, in almost every case. Sequential values keep index inserts at the end of the B-tree instead of scattering them, which on a large table is a real difference in write throughput and cache behaviour. Use v4 instead when the key is exposed publicly and must not reveal when the row was created.

Are these UUIDs safe to use as security tokens?

A v4 is: 122 bits from a cryptographically secure source is far beyond guessable, and that is the property a token needs. A v7 is not, because half of it is a predictable timestamp - for a token, use v4 or a purpose-built random string.

Is a UUID guaranteed to be unique?

Not guaranteed, just overwhelmingly probable. With 122 random bits you would need to generate on the order of a hundred trillion values before a collision became likely at all. In practice the realistic failure is not mathematics - it is a weak random source, which is why this tool refuses to fall back to one.

What is the nil UUID for?

It is the all-zeros UUID defined by the specification to mean “absent”, useful as a sentinel where a null is not available - a not-null column, a protocol field, a default value. RFC 9562 added the all-ones Max UUID as its counterpart, which is handy as an upper bound in a range scan.

Are these generated on your server?

No, and that matters more than it sounds for identifiers you may use as secrets. Generation happens entirely in your browser, so nothing on this page has been transmitted to Revquix or written to any log.

Next, try one of these

More from Developer, or browse the full catalogue.

This is an interview question

“Why v7 and not v4 for a primary key?”

Identifier strategy, index locality and why a random primary key hurts write throughput is a standard system-design round, and knowing the answer is not the same as being able to hold it under follow-up questions. A mock interview with someone who runs these rounds is where you find out which one you have.

Mock Interview from ₹599