ToolConvoyToolConvoyv2.6
DEV

UUID Generator — Generate Random UUID v4 Identifiers in Your Browser

Generate UUID v4, v1, and v7 identifiers. Cryptographically random (v4), single-click copy, bulk generation. Runs entirely in your browser.

● LOCAL · GENERATED IN YOUR TAB0 network requests since page load

The UUID (Universally Unique Identifier) in its 8-4-4-4-12 hex format is one of the most recognisable patterns in software. Every database table has a UUID column, every API response includes a UUID somewhere, and every distributed system needs identifiers that can be generated independently without coordination. The standard has been revised several times — RFC 4122 in 2005, RFC 9562 in 2024 — and the current recommended version, v7, solves the long-standing complaint that random UUIDs fragment B-tree indexes because new inserts scatter randomly across the index pages instead of appending to the end.

The generator defaults to v4 because v4 is still the most common version in the wild, but v7 is the emerging standard. The difference matters most when the UUID is a primary key. A v4 UUID inserted into a clustered B-tree index (MySQL InnoDB, PostgreSQL with a UUID primary key) causes page splits and index fragmentation because the next insert lands at a random location. A v7 UUID puts a millisecond-precision timestamp in the high bits, so inserts arriving in chronological order append to the same index page — the same benefit as an auto-increment integer, without the coordination cost of a central sequence generator. If the UUID will never be sorted or indexed by creation time, v4 is simpler and indistinguishable in effect.

For a final hand-off: if you need to inspect existing UUIDs, the UUID Decoder on this site extracts the version, variant, and embedded timestamps. If the UUID is going into a JWT as a jti claim, the JWT Decoder can verify the claim format. If you need deterministic UUIDs (same input always produces the same UUID), you need v5 with SHA-1 hashing, which is not available in the browser — use the uuid npm package or Python’s uuid.uuid5() for those cases.

How to use

  1. Pick a UUID version

    Default is v4 (random) — the most common version for database primary keys and API identifiers. Switch to v1 for time-and-MAC-address identifiers or v7 for time-sortable identifiers (natural ordering in B-tree indexes).

  2. Generate as many as you need

    Click 'Generate' for single UUIDs, or set a bulk count (up to 1000) for a batch. Each v4 UUID uses `crypto.getRandomValues` for cryptographic randomness. The list copies as newline-delimited text.

  3. Copy to clipboard

    Click any generated UUID to copy it individually, or use 'Copy All' for the full list. Standard 36-character format with hyphens: `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.

Frequently asked

Which UUID version should I use for database primary keys?

v7 (time-ordered, sortable) is the best choice for database primary keys — the timestamp prefix means new rows append to the end of the B-tree index, avoiding page splits that v4 causes. v4 is fine for identifiers that are not indexed or when the database is key-value. v1 is rarely the right choice today due to privacy concerns around MAC address exposure.

Are the generated UUIDs cryptographically random?

v4 UUIDs use `crypto.getRandomValues()`, which draws from the operating system's entropy source (`/dev/urandom` on Linux, `SecRandomCopyBytes` on macOS, `BCryptGenRandom` on Windows). This is the same source used by TLS, SSH key generation, and session token creation.

How many UUIDs do I need to generate before a collision is likely?

For v4, you need roughly 2.71 × 10^18 UUIDs to reach a 50% probability of a single collision. Generating a billion UUIDs per second for 85 years gives about a 50% chance of one collision. In practice, the entropy source quality is the limiting factor, not the UUID space.

Can I specify a custom node or namespace for v1 UUIDs?

v1 UUIDs embed a node ID (historically a MAC address, now randomised for privacy). The generator uses a random 48-bit value by default. Some v1 implementations allow specifying a custom node, but the browser tool prioritises privacy and uses only random nodes.

Limitations

  • No v3 or v5 generationv3 (MD5 hash) and v5 (SHA-1 hash) UUIDs require a namespace UUID and a name string. The generator does not implement namespace hashing because the use case (deterministic UUIDs for content addressing) is niche and the hashing can be done externally.
  • v1 clock sequence is not persistedThe v1 clock sequence resets on page refresh because the browser cannot persist state across sessions. For production v1 UUIDs where clock sequence monotonicity matters, use a server-side UUID library instead.
  • No UUID-as-base64 or short-encoded outputThe output is standard hex-and-hyphens format. For compact encoding (Base64, Base62), encode the UUID bytes manually or pipe through the Base64 Encode tool.

Platform notes

macOS
`uuidgen` in Terminal generates v4 UUIDs natively. The browser tool adds v1 and v7 generation with bulk output for seeding test databases or generating fixture files.
Linux
The `uuidgen` command (from util-linux) generates v4 UUIDs. The `uuid -v7` flag for v7 generation is available in newer versions. The browser tool is the right pick for bulk generation without writing a shell loop.
Web
Runs entirely client-side. No UUID ever leaves your browser. Use it for generating identifiers in development, seeding test databases, or creating fixture files.