DockittDockitt

UUID Generator Online — Generate Random UUIDs v4

Generate cryptographically random UUID v4 strings online. Generate 1 to 100 UUIDs at once. Free, browser-based.

Runs entirely in your browser — no data leaves your device
No account, no signup, completely free
Instant results — no waiting for server processing
Works offline once the page is loaded
Runs entirely in your browser. Your data never leaves your device — no server, complete privacy.
(max 100)

A UUID (Universally Unique Identifier) is a 128-bit identifier standardised in RFC 4122, typically represented as 32 hexadecimal digits separated by hyphens in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Version 4 UUIDs are randomly generated, making them suitable as unique keys in databases, unique filenames, correlation IDs in distributed systems, and anywhere a globally unique identifier is needed without a central issuing authority. This tool uses crypto.randomUUID() for cryptographically secure generation.

How to use

  1. Choose the number of UUIDs to generate (1 to 100) and the output format.
  2. Click 'Generate' to produce the UUIDs.
  3. Click 'Copy All' to copy all generated UUIDs to clipboard, or select and copy individual ones from the textarea.

FAQ

What is UUID v4 and why is it used?

UUID version 4 is a randomly generated universally unique identifier. 'Universally unique' means the probability of two independently generated UUIDs being identical is astronomically small — approximately 1 in 2^122 (5.3×10^36). UUIDs are used as primary keys in databases (to avoid sequential IDs that can be guessed or scraped), as correlation IDs in microservice logs, as unique identifiers for files, sessions, transactions, and any entity that needs a stable, unique identity without coordination between systems.

What is the difference between the output formats?

Standard format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx with lowercase hex and hyphens — this is the canonical UUID format. Uppercase: XXXXXXXX-XXXX-4XXX-YXXX-XXXXXXXXXXXX — same format but with uppercase hex digits, sometimes required by older systems. No hyphens: xxxxxxxx4xxxyxxxxxxxxxxxxxxx — the 32 hex characters without separators, producing a compact 32-character identifier. All three formats represent the same underlying value; the differences are purely cosmetic.

Are generated UUIDs truly unique?

In practice, yes. UUID v4 uses 122 bits of randomness (the other 6 bits encode the version and variant). The probability of generating two identical UUIDs is so small it is effectively zero — you would need to generate approximately 2.71×10^18 UUIDs before having a 50% chance of a collision (the birthday paradox). At a rate of one million UUIDs per second, that would take 86 years. No real-world application generates UUIDs at that rate.

How does this compare to using Math.random() for unique IDs?

Math.random() is not suitable for generating unique IDs because it is not cryptographically secure — it uses a predictable algorithm that can be reverse-engineered. crypto.randomUUID() uses the browser's CSPRNG (same as crypto.getRandomValues) which is seeded by true hardware entropy. Additionally, a UUID has 122 bits of entropy while a typical Math.random() value has about 53 bits, making UUID far more resistant to collision and prediction.

Can I use these UUIDs as database primary keys?

Yes. UUID v4 is a common choice for database primary keys, particularly in distributed systems where multiple services may create records simultaneously without coordination. The downside of random UUIDs as primary keys is that they are not sequential, which can cause index fragmentation in B-tree indexes (notably in MySQL InnoDB). For write-heavy tables in relational databases, UUID v7 (time-ordered) or ULIDs are often preferred, though this tool generates v4 only.

Is there a way to generate time-based (v1 or v7) UUIDs?

This tool generates version 4 (random) UUIDs only, using the browser's built-in crypto.randomUUID() function. Time-based UUID versions (v1, v6, v7) require access to a clock and optionally a MAC address or node identifier, which are not available through standard browser APIs. For time-ordered UUIDs in a browser context, consider using the ULID specification instead, or generating v7 UUIDs server-side.