What's the difference between UUID and GUID?
Nothing meaningful. GUID is Microsoft's term; they're the same standard.
Generate v4 UUIDs instantly, bulk supported
Technically yes, but the probability is astronomically small -- about 1 in 5.3 × 10^36 for v4.
Nothing meaningful. GUID is Microsoft's term; they're the same standard.
Yes -- they only contain hex digits (0-9, a-f) and hyphens, which are all URL-safe.
A UUID (Universally Unique Identifier) is a 128-bit label used to uniquely identify objects in software systems. They show up as database primary keys, session tokens, file names, and API resources -- basically anywhere you need an ID that won't collide with another.
UUID v4 is generated from random numbers, making it the simplest and most widely supported version. With 122 bits of randomness, the probability of generating two identical UUIDs is so small it's practically impossible -- even if you generated a billion UUIDs per second for the next hundred years.
v1 uses the current timestamp and MAC address -- it's sortable but leaks your machine's network address. v4 is pure random -- great for most uses. v5 deterministically generates a UUID from a namespace + name using SHA-1, useful when you need the same input to always produce the same UUID. v7 (the newest) combines a millisecond-precision timestamp with randomness, making UUIDs naturally sortable in databases.
UUID primary keys let multiple servers create records simultaneously without checking a central counter, which is essential for distributed systems. The downside: random UUIDs (v4) fragment B-tree indexes because new records insert randomly rather than at the end. Time-ordered UUIDs (v7) solve this by keeping inserts sequential. If you're on PostgreSQL, the native uuid type stores them as 16 bytes -- far more efficient than storing them as 36-character strings.
The standard UUID format is 8-4-4-4-12 hexadecimal characters separated by hyphens: 550e8400-e29b-41d4-a716-446655440000. You'll also see the compact form without hyphens (32 hex chars) in some systems. Case doesn't matter -- UUIDs are case-insensitive, though lowercase is the convention.