Local Tools Online

UUID Generator

Generate cryptographically random UUIDs (v4) or time-ordered UUIDs (v1, v7) in bulk, instantly, using your browser’s built-in secure random number generator.

What a UUID actually is, and why the version matters

A UUID (Universally Unique Identifier) is a 128-bit value designed to be unique across systems without any central coordination — two different servers generating UUIDs independently will, for all practical purposes, never produce a collision. But “UUID” isn’t one format; the version number changes what’s actually inside it and what it’s suited for:

  • v4 (random) — the most common choice for general-purpose unique IDs (database primary keys, session tokens, request IDs). Generated from random bits with no embedded information about when or where it was created.
  • v1 (timestamp-based) — encodes the creation time and the generating machine’s MAC address, which means v1 UUIDs are sortable by creation time but technically leak a bit of information about the generating device, which matters in some security contexts.
  • v7 (newer, time-ordered) — a more recent standard that’s also sortable by creation time like v1, but uses random bits instead of a MAC address, making it a better choice than v1 for most modern use cases where you want time-ordering (e.g., for better database index performance) without the MAC address leak.

How to use it

  1. Choose the UUID version you need (v4 is the default and covers most use cases).
  2. Set how many you want generated at once — from a single UUID to a batch of thousands, useful for seeding test data.
  3. Choose the output format: standard hyphenated (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), uppercase, no hyphens, or wrapped in quotes for direct paste into code as a string array.
  4. Copy the full batch with one click, or download as a .txt or .csv file if you’re generating a large batch for a database seed script.
  5. Regenerate instantly if you want a fresh batch — since generation is local, there’s no rate limit or delay.

Common situations this solves

  • Generating primary keys or unique IDs during local development, without needing to spin up a database connection just to get a test UUID.
  • Seeding test or demo data with a batch of realistic-looking unique identifiers.
  • Creating a unique request ID or correlation ID for debugging or logging purposes on the fly.
  • Generating placeholder API keys or tokens for documentation examples, where you want something that looks realistic but isn’t a real credential.
  • Populating a spreadsheet or CSV with unique row identifiers before importing into a system that requires them.

Frequently asked questions

Are these UUIDs actually unique, or could two ever collide? For v4 UUIDs generated using a proper cryptographic random source (which this tool uses via the browser’s crypto.getRandomValues() API), the probability of a collision is astronomically low — you’d need to generate roughly a billion UUIDs per second for about 85 years before there’s a 50% chance of a single collision. For virtually all practical purposes, treat them as unique.

Which version should I use for a database primary key? v4 is the safe general default. If you’re working with a large table and care about insert performance (since randomly-ordered keys can fragment database indexes), v7 is increasingly the recommended choice since it’s both unique and roughly sortable by creation time, which keeps new rows physically close together in many database index structures.

Is it safe to use a UUID as a security token, like a password reset link? A properly generated v4 UUID has 122 bits of randomness, which is generally considered sufficient entropy for this purpose — but be certain your generation source is cryptographically secure (this tool is) rather than a naive pseudo-random implementation, since a weak random source undermines the whole point.

What does “v1 leaks the MAC address” actually mean in practice? A v1 UUID embeds a node identifier, which by the original spec is derived from the generating machine’s network hardware address. In practice, this means a v1 UUID could theoretically be used to help identify or fingerprint the machine that created it, which is why v1 has fallen out of favor for anything user-facing in favor of v4 or the newer v7.

Can I generate UUIDs without the hyphens, for a system that doesn’t accept them? Yes, the format selector includes a no-hyphens option that outputs the same 32 hex characters as a continuous string, which some legacy systems and APIs require.