Urban Software
Free Tool

Free UUID Generator, v4 and v7, in bulk

Generate random v4 or time-ordered v7 UUIDs, one or five hundred at a time, and copy or download them in a click. Uppercase, hyphen and brace formatting are all one toggle away. Then paste any UUID back in to read its version, its variant, and for a v7 the exact moment it was created. Everything is minted in your browser with the Web Crypto API, so no identifier ever touches a server.

A UUID looks like a solved problem until you actually need a good one. Most online generators give you a single v4 and stop there, which is fine for a throwaway value and quietly wrong for a database. A purely random id is unordered, so when you use it as a primary key every insert lands in a random spot in the index, the table fragments, and writes slow down as it grows. The fix has existed since 2024: a v7 UUID puts a millisecond timestamp in its first 48 bits, so ids created near each other sort near each other and behave like the sequential key a database actually wants, while staying globally unique. Beyond generating, there is the other half nobody offers: reading a UUID back. When you are handed one in a log or a payload, you often need to know which version it is, whether it is even a valid UUID, and, if it carries a timestamp, when it was made. This tool does both.

01

What a UUID actually is

A UUID, or Universally Unique Identifier, is a 128-bit value written as 32 hexadecimal digits in five hyphenated groups, like 018f9b3a-7c2e-7a10-9c4d-2b6f1e5a8d3c. The point of it is that anyone, anywhere, can generate one without coordinating with a central authority and still be practically certain it will never collide with anyone else's. That property is what makes UUIDs the default identifier for distributed systems: two services, two databases, or two offline devices can each mint ids independently and merge their data later without a clash. The version digit, the first character of the third group, tells you how a given id was produced.

02

v4 versus v7, and why the choice matters

A v4 UUID is 122 bits of pure randomness. It is the right default when the id is opaque and you never sort by it: a session token, an idempotency key, a file name. A v7 UUID replaces the leading bits with a Unix millisecond timestamp and fills the rest with randomness, so it is still globally unique but also monotonically increasing over time. That single change is decisive for anything stored in a database index. Sequential v7 keys keep the index compact and inserts fast, where random v4 keys scatter writes across the whole index and fragment it. As a rule of thumb: reach for v7 for primary keys and anything you will order by creation time, and v4 for secrets and opaque tokens where you never want the value to leak when it was made.

03

Generate, and then verify

The generating half is deliberately simple: pick the version, pick how many, flip the formatting to match wherever they are going, and copy or download. The verifying half is the part almost no other tool offers. Paste a UUID into the inspector and it confirms whether it is well formed, reports its version and its variant, and, when it is a v7, decodes the timestamp hidden in those first 48 bits back into a human date. That is genuinely useful in practice: it turns a v7 in a log line into the exact second a record was created, and it catches the common mistake of pasting something that only looks like a UUID but is a digit short.

How to use it

  1. 1

    Choose the version

    Pick v4 for random, opaque ids like tokens and keys, or v7 for time-ordered ids that make better database primary keys. The output regenerates the moment you switch.

  2. 2

    Set how many and the format

    Enter any count from 1 to 500, then toggle uppercase, hyphens and braces to match the syntax of wherever the ids are going, whether that is SQL, a config file or code.

  3. 3

    Generate, then copy or download

    Press generate for a fresh batch. Copy a single id with the button beside it, copy the whole list, or download it as a .txt file. Exporting asks you to sign in with a free account; using the tool never does.

  4. 4

    Inspect an id to check it

    Paste any UUID into the inspector to confirm it is valid and read its version and variant. If it is a v7, you also get the exact timestamp it encodes.

Common mistakes

Using v4 for a database primary key

Random v4 keys scatter inserts across the index and fragment it as the table grows. Use v7 instead: it is still globally unique but time-ordered, so it behaves like the sequential key a database index is built for.

Treating a UUID as a secret

A v4 is random but it is not a cryptographic secret, and a v7 openly reveals the time it was created. Never use a UUID as a password, an unguessable download link, or anything whose security depends on it staying private.

Assuming any 32 hex characters is a valid UUID

A real UUID has its version and variant bits set in specific places, not just the right length. Paste it into the inspector to confirm the version and variant are actually valid rather than trusting the shape.

Storing UUIDs as text when a native type exists

Saving a UUID as a 36-character string wastes space and slows comparisons. Most databases have a dedicated 16-byte UUID or binary type; use it, and keep the hyphenated text form for display only.

Questions

Is this UUID generator free, and are the ids safe to use?
Yes, it is completely free with no sign-up to generate and no limits. Every id is created in your browser with the Web Crypto API, the same cryptographically strong randomness used for security tokens, and nothing is sent to or stored on a server. Signing in is only needed to copy or download, so your batches can follow you across tools.
What is the difference between a v4 and a v7 UUID?
A v4 is entirely random, which is ideal for opaque values like tokens where order does not matter. A v7 puts a millisecond timestamp in its leading bits, so the ids sort by creation time while staying unique. Use v7 for database primary keys and anything ordered by time, and v4 for secrets and opaque identifiers.
Can I really generate 500 UUIDs at once?
Yes. Set any count from 1 to 500, generate, and copy the whole list or download it as a text file. Because generation happens locally there is no rate limit and no waiting on a server.
How does the inspector decode a timestamp from a v7?
A v7 UUID stores a 48-bit Unix millisecond timestamp in its first six bytes. The inspector reads those bytes, converts them back to a date, and shows it in UTC. It also reports the version and variant for any UUID version, and flags anything that is not a valid UUID.
Are these UUIDs guaranteed to be unique?
In practice, yes. A v4 has 122 random bits, so the chance of two ever colliding is vanishingly small even across billions of ids. A v7 combines a timestamp with random bits, so two generated in the same millisecond still differ in their random portion. Neither is mathematically impossible to collide, but the odds are far beyond anything you would meet in real use.
Should I store a UUID as a string or a number?
Neither as a plain string nor as a number. Most databases have a native UUID or 16-byte binary type that stores it in half the space of the 36-character text form and compares faster. Store it in that native type and keep the hyphenated string only for display and APIs.

Need this done properly, at scale?

The tool handles the one-off. When it's a system you're building, that's the paid version of the job, and we do that too.

Custom Software Development