UUID Generator
Need a universally unique identifier in one click? This free UUID generator creates version 4 (random) or version 1 (time-based) UUIDs right in your browser — generate 1 to 100 at a time, copy them one by one or all at once, and paste them straight into your database, API, or code. Nothing is sent to a server, nothing is logged, and there is no sign-up.
Generate UUIDs
How to Use the UUID Generator
Generating identifiers takes about ten seconds:
- Choose a version. v4 (random) is the right default for almost everything: database keys, API request ids, session tokens, test fixtures. Pick v1 (time-based) when you want identifiers that sort in creation order — for example, as a primary key on a very large table where index performance matters.
- Set how many you need (1–100). Five is the default. Need a batch of test users? Ask for 100. Need a single idempotency key for a payment request? Set it to 1.
- Press Generate UUIDs. A fresh batch appears instantly, in
8-4-4-4-12format, ready to use. - Copy. Each line has its own Copy button, or hit Copy All to grab the whole batch as a newline-separated list — handy for pasting into a SQL
INSERT, a seed script, or a spreadsheet column. - Regenerate any time. Switching the version dropdown re-generates the list automatically, so comparing v1 and v4 output is a one-click affair.
Because generation happens entirely in your browser with the Web Crypto API, there is no queue, no rate limit, and no round trip to a server. It works offline once the page has loaded, and it works identically in every modern browser.
What a UUID Looks Like: The Anatomy
A UUID is a 128-bit number, usually written as 32 lowercase hexadecimal characters split into five groups by hyphens:
The two letters that are not x's carry the metadata. M is the version digit — the 13th hex character — and it is always 1 for a time-based UUID or 4 for a random one. N is the variant field — the 17th hex character — and in every standards-compliant (RFC 9562) UUID it is one of 8, 9, a, or b. That is the fastest way to eyeball a UUID: if the 13th character is a 4 and the 17th is an 8–b, you are looking at a valid v4.
Version 1 packs a 60-bit timestamp into the first three groups. The timestamp counts 100-nanosecond intervals since October 15, 1582 (the date of the Gregorian reform — an arbitrary but charming epoch), followed by a 14-bit clock sequence and a 48-bit node identifier. Version 4 is simpler: 122 of the 128 bits are pure randomness, with 6 bits reserved for the version and variant markers. Fewer moving parts, zero information leakage, and the reason v4 became the world's default.
Worked Example
Here is a real v4 UUID generated by this tool, with its anatomy labeled:
| Step | Detail | Value |
|---|---|---|
| 1. Full UUID | 32 hex characters in 8-4-4-4-12 groups | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
| 2. Version digit | 13th character is 4 → version 4, random | …-4372-… |
| 3. Variant digit | 17th character is a (in 8–b) → RFC 9562 variant | …-a567-… |
| 4. Random payload | The remaining 30 hex digits = 122 random bits | ≈ 5.3 × 10³⁶ possibilities |
And a v1 UUID from the same tool, 6ec0bd7f-11c0-11f1-8000-010203040506-style output, looks similar but hides a timestamp in its first twelve hex characters: decode those and you get the exact 100-nanosecond tick when it was created. That is powerful for ordering — and exactly why you should not use v1 where privacy matters.
Where UUIDs Are Used
UUIDs show up anywhere independent systems must agree on identifiers without talking to each other first. Databases are the classic case: in a distributed system, five servers inserting rows at once cannot share an auto-increment counter, so each generates its own UUID primary keys and they never collide. APIs use them as idempotency keys (so retrying a payment cannot charge twice) and as request ids for tracing a call through a dozen microservices. Object storage (S3-style buckets) names uploads with UUIDs to avoid filename clashes. Session tokens, password-reset links, and invitation codes are UUIDs precisely because they are unguessable — a v4 UUID has 122 bits of entropy, far beyond brute force. And developers reach for them daily in seed scripts, test fixtures, and mock data, where a quick batch of 100 unique ids beats inventing names like test-user-1 through test-user-100.
The unifying theme is decentralized uniqueness: nobody asks permission, nobody checks a registry, and it still works. That property is why UUIDs survived four decades of computing fashion and are now baked into the standard library of nearly every language, from Python's uuid module to Java's UUID.randomUUID().
Limitations
UUIDs are the right tool for identity, not for everything. Version 4 UUIDs are not sortable — they arrive in random order, so they make poor clustered index keys on huge tables and ugly sort keys in logs. If ordering matters, prefer v1 or the newer time-ordered v7. Version 1 UUIDs leak information: the timestamp reveals exactly when the id was created, and the node field historically carried the machine's MAC address (this tool sets the multicast bit and uses random node bytes instead, so your hardware address is never exposed). UUIDs are long for URLs — 36 characters in a path or query string is clunky, which is why URL-shortener-style systems use shorter encodings like Nano ID or base62. A UUID is not a security token by itself: randomness makes it unguessable, but it carries no expiry, no signature, and no revocation — never treat a bare UUID as proof of authorization. And while collisions are cosmically unlikely, UUIDs are still not provably unique; if your system would catastrophically fail on a duplicate, enforce a uniqueness constraint in the database anyway.
Guides for This Tool
Frequently Asked Questions
What is a UUID?
What is the difference between UUID v1 and v4?
Are UUIDs guaranteed to be unique?
Can I use UUIDs as database primary keys?
Is it safe to generate UUIDs in the browser?
What does each part of a UUID mean?
Related Tools
URL Encoder / Decoder
Encode URLs and components, decode percent-encoding.
Base64 Encoder / Decoder
Convert text to Base64 and back with full Unicode support.
JWT Decoder
Decode JSON Web Tokens and inspect expiry dates.
JSON Formatter
Format, validate, and minify JSON with syntax highlighting.
Regex Tester
Test regular expressions live with match highlighting.
Cron Expression Generator
Build cron schedules visually with plain-English descriptions.