What Is a UUID and When Should You Use One?
Open almost any database, API, or app and you'll find long strings like 550e8400-e29b-41d4-a716-446655440000. Those are UUIDs, and they solve a deceptively tricky problem: how do you generate a unique identifier without a central authority coordinating it? Here's how they work and when to reach for them.
What a UUID is
UUID stands for Universally Unique Identifier — a 128-bit value, usually shown as 32 hexadecimal characters in five hyphen-separated groups. The point is in the name: it's designed to be unique across space and time, so two systems anywhere can generate UUIDs independently and never collide.
How can it be unique without coordination?
The most common type, version 4, is almost entirely random — 122 random bits. The number of possible values is so astronomically large (about 5 undecillion) that the chance of two randomly generated UUIDs matching is effectively zero, even across billions of them. You don't need a central counter; randomness alone makes collisions practically impossible. Generate one instantly with our UUID generator.
UUID vs auto-increment IDs
Traditional databases use sequential IDs (1, 2, 3…). They're simple and compact, but they have downsides UUIDs avoid:
- No coordination needed: multiple servers can create records offline and merge later without ID clashes.
- Not guessable: sequential IDs leak information (a competitor can see you have "order #1043") and are easy to enumerate; UUIDs aren't.
- Generated anywhere: the client can create the ID before talking to the server.
When to use which
Use UUIDs for distributed systems, public-facing identifiers, merging data from multiple sources, or anywhere you don't want IDs to be guessable. Stick with auto-increment integers when you have a single database, want compact keys, and value human-readable IDs. Many systems use both — an internal integer key and an external UUID.
A note on the trade-offs
UUIDs are larger than integers (16 bytes vs 4–8), which slightly affects storage and index performance at scale. For most applications the difference is negligible and the benefits win, but it's worth knowing.
Bottom line
A UUID is a 128-bit identifier unique enough to generate anywhere without coordination. Reach for them when you need distributed, unguessable, or client-generated IDs; keep simple integers when you have one database and want compact, readable keys. For more handy dev utilities, see our developer toolkit.