GenShelf

Free generator

Free UUID Generator

Generate random or time-ordered UUIDs — batch, format, and download privately.

Generating…
Version

Random — most common

How to use

1. Choose Version 4 (random) or Version 7 (time-ordered).

2. Set how many you need (up to 100), and toggle hyphens, uppercase, or braces to match your API.

3. Copy one, copy all, or download a .txt file.

What a UUID is for

UUIDs let independent systems mint IDs without a central counter. That is useful for client-generated keys, distributed writes, and fixture data that must not collide with production. They are 128-bit values, usually shown as 32 hex digits in 8-4-4-4-12 groups.

How GenShelf builds v4 and v7

Version 4 prefers crypto.randomUUID() when the browser implements it. If not, it fills 16 bytes with crypto.getRandomValues, then sets version nibble 4 and RFC 4122 variant bits (10xx on byte 8).

Version 7 always starts from 16 random bytes, then overwrites the first 48 bits with Date.now() as a millisecond Unix timestamp (no BigInt required). Version nibble 7 and the same variant bits are applied. IDs created in the same millisecond still differ in the remaining random bits.

Hyphens, uppercase, and braces are applied after the hex is built. They do not change the bits. Standardize on one style in your API — mixed braces and case is how clients invent bugs.

Batch generation and collisions

A batch is capped at 100. Within that run, GenShelf keeps a set of already-emitted strings and retries (up to 10× the count) if a duplicate appears. That is a local safeguard for a paste-ready list. It does not claim uniqueness against IDs minted on another machine, and it does not need to: 122 bits of randomness in v4 make accidental collision at application volumes negligible.

Do not use that fact as a uniqueness proof for a lottery. For database primary keys, the more interesting v7 question is index locality, not collision math. Compare versions in UUID v4 vs v7.

When to use which version

  • v4 — default when the ID might appear in a screenshot, URL, or log and you do not want create-time leaked.
  • v7 — B-tree primary keys under heavy inserts, or any list you want roughly chronological without a separate timestamp column.

Pin seed IDs in version control. Do not copy production IDs into public demos. Pair fixture UUIDs with synthetic names: staging data privacy.

Is the UUID generator private?

IDs are created in your browser. They are not uploaded or stored by GenShelf. UUIDs are still identifiers — if knowing an ID is enough to access a record, that is an authorization bug, not a UUID feature.

FAQ

What is a UUID?

A UUID (Universally Unique Identifier) is a 128-bit value used as an ID in apps, databases, and APIs. Collision risk is extremely low when generated correctly.

What’s the difference between v4 and v7?

Version 4 is random (opaque). Version 7 embeds a Unix millisecond timestamp in the high bits so IDs roughly sort by creation time — useful as primary keys under insert load. v7 also leaks approximate create-time.

Are these UUIDs generated in the browser?

Yes. v4 uses crypto.randomUUID when the browser provides it, otherwise crypto.getRandomValues with version and variant bits set. v7 always uses getRandomValues plus Date.now() for the timestamp. Nothing is uploaded.

Can I generate many at once?

Yes. Count is 1–100. The batch loop skips accidental duplicates within that run, then you can copy all or download a .txt file with one ID per line.

Do hyphens, uppercase, or braces change the ID?

They are formatting only. The underlying 128-bit value is the same — choose the style your codebase expects.

Should I treat a UUID as a secret?

No. If an ID grants access, protect the endpoint with authentication. UUIDs are identifiers, not passwords.

Related guides

Related tools