Calcoid
Tech

UUID Generator

Generate random v4 or time-ordered v7 UUIDs in batches. Format with or without hyphens, uppercase, or braces, and validate any pasted UUID.

UUID generator
Check a UUID

Frequently Asked Questions about the UUID Generator

What is a UUID?
A UUID (Universally Unique Identifier) is a 128-bit value written as 32 hex digits in five hyphen-separated groups, like 550e8400-e29b-41d4-a716-446655440000. Two systems can each generate IDs independently and still avoid collisions in practice. UUIDs appear as primary keys in databases, file identifiers, and event tracking IDs.
What is the difference between UUID v4 and v7?
v4 is purely random: 122 bits of randomness with 6 bits reserved for version and variant. v7 embeds a 48-bit Unix millisecond timestamp in the first 6 bytes, then fills the rest with randomness, so v7 IDs sort chronologically. Use v4 for opaque tokens or session IDs; use v7 for database primary keys where time-ordered inserts improve index performance.
What are the collision odds for v4 UUIDs?
Generating one billion v4 UUIDs per second for 100 years gives roughly a 50% chance of a single collision across that entire set. For any real application (even one producing millions of IDs per day) the probability is effectively zero. v4 is safe for primary keys without any collision-avoidance logic.
Are these UUIDs cryptographically secure?
Yes. Both v4 and the random portion of v7 are generated with the Web Crypto API (getRandomValues), which is a cryptographically strong source in all modern browsers and Node.js 22+. The output is suitable for session tokens and unguessable identifiers, though it is not a substitute for a purpose-built secret key or bearer token.
Can I paste any UUID format into the validator?
Yes. The validator accepts hyphenated, unhyphenated, braced, lowercase, uppercase, and mixed-case input. It strips outer braces, removes hyphens, checks that all 32 characters are valid hex, then verifies the version digit (position 14) and the variant bits (position 19 must be 8, 9, a, or b). A passing input returns the canonical lowercase form and the detected version number.