Data
UUID & GUID Generator (v4, v7 & Bulk)
Browser-based UUID and GUID generation utility supporting RFC 4122 Version 4 (random) and RFC 9562 Version 7 (time-ordered Unix epoch). Generate single or bulk identifiers with case and delimiter formatting. Runs 100% client-side via Web Crypto.
Standard pure pseudo-random identifier.
How it works
UUIDs (Universally Unique Identifiers) are 128-bit values designed to enable distributed systems to uniquely identify records without central coordination. Version 4 (RFC 4122) generates 122 bits of cryptographically strong pseudo-random entropy, setting 4 bits for version (0100) and 2 bits for variant (10xx), yielding a collision probability so low that billions of keys can be generated before a collision occurs. Version 7 (RFC 9562) dedicates the initial 48 bits to a millisecond Unix epoch timestamp, followed by 12 bits of sub-millisecond precision or random entropy, version 7 bits, variant bits, and 62 random bits. Because the high-order bits represent time, UUID v7 strings sort naturally in chronological order, eliminating B-tree index fragmentation in relational databases like PostgreSQL and MySQL while preserving distributed generation benefits.
How to use it
- Select your desired UUID version: Version 4 for pure random entropy or Version 7 for sequential time-ordered database indexing.
- Choose quantity: generate 1, 5, 10, 25, 50, or up to 100 identifiers simultaneously.
- Toggle formatting options: standard hyphens, uppercase lettering, wrapping braces {}, or JSON quotes "".
- Click 'Generate New' or copy the entire batch to your clipboard with a single click.
- Download your batch directly as a plaintext .txt file or formatted JSON array.
Worked Examples
Example 1: Generating Primary Keys for Distributed Microservices
Worked ExampleReplacing auto-incrementing database sequence IDs with non-guessable identifiers to prevent ID enumeration attacks across multi-tenant APIs.
Input Payload
Version: UUID v4 | Count: 3 | Hyphens: Yes
Output / Result
c56a4180-65aa-42ec-a945-5fd21dec0538 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d 1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed
Why this happens: Generates globally unique identifiers without requiring a round-trip to a centralized relational database sequence generator.
Example 2: Optimizing PostgreSQL Clustered Index with UUID v7
Worked ExampleInserting millions of audit events per day into a PostgreSQL or MySQL table without suffering B-Tree page splits caused by random UUID v4 values.
Input Payload
Version: UUID v7 (Time-Ordered) | Count: 2
Output / Result
018f3a5e-88c2-7000-84a1-872f9024f923 018f3a5e-88c3-7000-94b2-a43b8192e441
Why this happens: The first 48 bits contain monotonically increasing millisecond timestamps, ensuring new records append to the right edge of B-Tree database pages, reducing cache evictions and write amplification.
Example 3: Bulk Generating Mock Test Fixtures for Seed Scripts
Worked ExampleExporting 25 quoted UUIDs to seed a test database suite in Prisma or Drizzle ORM.
Input Payload
Version: UUID v4 | Count: 25 | Quotes: Yes | Format: JSON
Output / Result
[ "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "6ba7b811-9dad-11d1-80b4-00c04fd430c8" ]
Why this happens: Instantly exports a clean, importable JSON array of valid RFC-compliant mock identifiers.
Edge Cases & Failure Modes
UUID v4 Collision Probability
Generating 103 trillion UUID v4 values yields only a 1-in-a-billion chance of collision. However, using Math.random() instead of crypto.getRandomValues() compromises entropy and introduces collisions.
Handling: Our generator exclusively calls browser Web Crypto CSPRNG APIs (window.crypto.randomUUID and crypto.getRandomValues), guaranteeing cryptographic entropy.
UUID v7 Sub-Millisecond Sorting Ambiguity
When generating multiple UUID v7 records within the exact same millisecond, the timestamp bits are identical.
Handling: RFC 9562 specifies that sub-millisecond sequence bits or cryptographically random bits fill the remaining 74 bits, maintaining uniqueness even during high-throughput bursts.
Database Column Type Sizing (UUID vs CHAR(36))
Storing UUIDs as 36-character text (CHAR(36)) consumes 4x more disk and memory bandwidth than native 16-byte binary UUID types.
Handling: Always configure database columns with native UUID types (e.g. `UUID` in PostgreSQL, `BINARY(16)` in MySQL) to conserve RAM and index page density.
Privacy & Local Execution Guarantee
All UUID generation occurs strictly within your browser using the local cryptographically secure pseudorandom number generator (CSPRNG) via window.crypto.randomUUID() and crypto.getRandomValues(). No generated keys, seeds, or system parameters are transmitted across the network.
Frequently Asked Questions
What is the difference between UUID v4 and UUID v7?
UUID v4 is entirely randomized (122 random bits). UUID v7 embeds a 48-bit Unix millisecond timestamp at the beginning, followed by random bits. This makes UUID v7 time-ordered, drastically improving database index write performance.
Is UUID identical to GUID?
Yes. GUID (Globally Unique Identifier) is Microsoft's implementation of the RFC 4122 UUID standard. Functionally and structurally, a GUID and a UUID are identical 128-bit identifiers.
Can anyone deduce when a UUID v7 was created?
Yes. Because UUID v7 embeds a Unix millisecond timestamp in the first 48 bits, anyone inspecting the UUID can extract the precise creation date and time. If timestamp privacy is required, use UUID v4 instead.
Are these UUIDs safe for security tokens and session IDs?
While UUID v4 has 122 bits of cryptographic randomness and is difficult to guess, purpose-built authentication tokens (such as 256-bit cryptographically signed session tokens or PASETOs) provide stronger security margins.
Are generated UUIDs stored or tracked by Palmate Solutions?
No. All generation executes inside your browser's local JavaScript engine via the Web Crypto API. Nothing is sent over the network.
Related articles
Related tools
Related services
Next step
Need this wired into a real system?
Estimators and converters help you think. Delivery still needs contracts, environments, and an owner.
