Free UUID Generator Online: v1, v4, v7 + Decoder, No Signup
A UUID (Universally Unique Identifier) is a 128-bit value written as 32 hexadecimal digits — something like 550e8400-e29b-41d4-a716-446655440000. It exists to solve one problem: how do separate systems create identifiers that never collide, without a central counter? Database rows, API keys, session tokens, file uploads, order numbers — whenever two machines must agree on a unique ID without talking to each other, a UUID is the standard answer. This guide explains the versions, when to use each, and how to generate them free without signing up.
TL;DR — the short answer
Use a free UUID generator that runs in your browser: pick a version (v7 for database keys, v4 for everything else), generate one or hundreds at once, decode any UUID to see what it encodes — and no signup, no upload, everything happens on your device.
What is a UUID, exactly?
The 128 bits are grouped into five hyphen-separated blocks: 8-4-4-4-12 hex digits. A few of those bits are reserved — the version field says which generation scheme produced the ID (1, 4, 7…), and the variant field marks it as an RFC 9562 UUID. The remaining ~122 bits carry the payload: a timestamp, a machine identifier, randomness, or a combination, depending on the version.
The current standard is RFC 9562, published in May 2024, which retired the old RFC 4122 and officially standardized UUID v7. Microsoft's GUID is the same 128-bit format under a different name — anything that parses a GUID parses a UUID, and vice versa. The practical takeaway: “UUID” and “GUID” are interchangeable labels for one format.
UUID versions: v1 vs v4 vs v7 — which should you use?
The version digit (the first character of the third block) tells you how the ID was built. Here is what each one actually does:
| Version | How it works | Use when | Watch out for |
|---|---|---|---|
| v1 | Timestamp (100-ns ticks since 1582) + machine MAC address | Legacy systems that require it | Leaks the MAC address and exact creation time |
| v4 | 122 bits of cryptographic randomness | Tokens, public IDs, anything where you want no information embedded | Random order fragments database indexes |
| v7 | 48-bit millisecond Unix timestamp + 74 random bits | New database primary keys, event IDs, anything sorted by time | Creation time is visible to anyone holding the ID |
v7 is the right default for new work in 2026. Because the timestamp leads the ID, v7 values sort in creation order — a database B-tree index stays compact and inserts stay fast, instead of scattering randomly across the index the way v4 does. Major frameworks and databases have been adopting v7 since RFC 9562 landed, and for primary keys it is strictly better than both predecessors. Reach for v4 only when you specifically want no timestamp embedded in the ID (public-facing tokens, for example). v1's day is over: it was designed before anyone worried that broadcasting your network card's MAC address in every database key was a bad idea.
How to generate a UUID in four steps
- Pick the version. v7 for database keys and anything time-ordered, v4 for random tokens, v1 only if a legacy system demands it.
- Set the count. One for a quick key, or hundreds at once for test data, fixtures, or coupon codes.
- Generate. The IDs are produced on your device with the browser's cryptographic random source — nothing travels over the network.
- Copy or download. Grab them from the list or download as a text file, ready to paste into code, SQL, or a spreadsheet.
Try it now with ToolsOfWeb's free UUID generator — v1, v4, and v7, bulk generation, a built-in decoder, no account, no upload.
What does the UUID decoder tell you?
Paste any UUID into the decoder and it breaks the 128 bits back into their meaning: the version and variant fields, the timestamp rendered as a human date (for v1 and v7), the node or MAC address (v1), and the random section. It is the fastest way to answer “what is this ID?” — debugging a foreign key, checking whether an ID you received is v4 or v7, or confirming that a token someone handed you isn't secretly a v1 leaking their server's MAC address.
Generate UUIDs in code: Python, JavaScript, Java
Every mainstream language ships UUID generation in its standard library — no package to install:
Python
import uuid
print(uuid.uuid4()) # random v4
print(uuid.uuid7()) # time-ordered v7 (Python 3.14+)JavaScript (browser & Node)
crypto.randomUUID(); // v4, e.g. "3f6d9a1c-…"Java
import java.util.UUID;
UUID id = UUID.randomUUID(); // v4Note that crypto.randomUUID() and UUID.randomUUID() produce v4. For v7 in code, use a dedicated library (or upgrade to a runtime that supports it) — or just generate what you need in the browser tool above.
Three gotchas worth knowing
v1 leaks your MAC address. Every v1 UUID embeds the generating machine's network hardware address plus the exact creation time. Publishing v1 IDs in URLs or APIs hands out both pieces of information for free. If you inherit a system using v1, treat those IDs as mildly sensitive.
v7 timestamps are visible too. The millisecond timestamp is a feature for sorting, but anyone holding a v7 ID can read exactly when it was created. Fine for order numbers and event logs — think twice before using v7 for things where creation time should stay private.
Uppercase IDs cause phantom duplicates. The spec says hex is case-insensitive, but string equality in code and some database collations is not. One service storing 550E8400… and another storing 550e8400… will disagree about whether the row exists. Standardize on lowercase everywhere and normalize on input.
FAQs
What is a UUID?+
A UUID (Universally Unique Identifier) is a 128-bit identifier written as 32 hexadecimal digits in five groups, like 550e8400-e29b-41d4-a716-446655440000. It is designed to be unique across both space and time, so two systems can generate identifiers independently without ever coordinating — the basis of primary keys, session tokens, and distributed IDs.
What is the difference between UUID and GUID?+
They are the same format. GUID (Globally Unique Identifier) is Microsoft’s name for a UUID; the 128-bit structure, the hyphenated text format, and the version scheme are identical. Anything that accepts a GUID accepts a UUID and vice versa — the difference is only terminology.
Which UUID version should I use: v1, v4, or v7?+
Use v7 for new work: it embeds a millisecond timestamp, sorts chronologically, and keeps database indexes efficient. Use v4 when you want purely random IDs with no time information at all. Avoid v1 for anything user-facing, because it embeds the generating machine’s MAC address and reveals exactly when it was created.
What is UUID v7 and why is everyone switching to it?+
UUID v7 was standardized in May 2024 by RFC 9562. It stores a 48-bit Unix timestamp in milliseconds followed by 74 bits of randomness, so IDs sort in creation order while staying practically unique. That ordering is a big deal for databases: time-sorted UUIDs keep B-tree indexes compact instead of fragmenting them the way random v4 IDs do.
Can two UUIDs ever collide?+
For v4, the math says effectively no. With 122 random bits, you would need to generate roughly 2.7 quintillion IDs before the collision odds reach 50% (the birthday paradox). For v7, collisions within the same millisecond require the random sections to match — about a 1-in-2^74 chance. Either way, the odds are far below the chance of a hardware failure corrupting your data.
Does uppercase vs lowercase matter in a UUID?+
The spec treats hex digits as case-insensitive, so 550E8400… and 550e8400… identify the same value. But consistency matters in practice: string comparisons in code and some database collations are case-sensitive, and mixed-case IDs cause subtle duplicate bugs. The safe convention is lowercase, which is what most generators and libraries emit.
What does the UUID decoder show?+
The decoder breaks a UUID into its parts: the version and variant fields, the timestamp (for v1 and v7 — shown as a readable date), the node/MAC address (v1), and the random section. It is the fastest way to sanity-check a UUID you received from somewhere else: paste it in, and you instantly see what it actually encodes.
Is my generated UUID uploaded anywhere?+
No. The generator runs entirely in your browser using your device’s cryptographic random source, and nothing is sent to a server or stored. That is worth knowing because UUIDs often seed database keys and tokens — a generator that phones home would be a genuine security smell.
How do I generate a UUID in Python, JavaScript, or Java?+
All three ship with it built in. Python: uuid.uuid4() from the uuid module. JavaScript: crypto.randomUUID() in the browser or Node. Java: UUID.randomUUID(). See the code snippets below — no library to install, and the same one-liner works for v4 everywhere.
Can I generate UUIDs in bulk?+
Yes — the generator on this site can produce hundreds at once and let you download them as a text file. Bulk generation is handy for seeding test databases, generating coupon or invite codes, and creating fixture data without writing a script.
For more free utilities, see ToolsOfWeb's JSON Formatter and JWT Decoder.
