UUID Validator — Check Any UUID Online
Paste any UUID to instantly validate its format, identify its version and variant, and decode what the bits mean. Free, private, runs in your browser.
UUID Version Reference
The version digit is the first character of the third group (position 15 in the full string). Here's what each version means:
| Version | Name | Description | Use when |
|---|---|---|---|
| Nil | All zeros | All 128 bits are zero. Defined in RFC 4122 as a null sentinel value. | Placeholder, "not yet assigned" |
| v1 | Time-based | Encodes a 60-bit timestamp (100-ns intervals since Oct 15, 1582) plus a node (often MAC address). | Legacy systems that require v1 |
| v2 | DCE Security | Like v1, but replaces part of the timestamp with a POSIX UID or GID. Rarely used. | DCE/RPC environments (rare) |
| v3 | Name-based (MD5) | Deterministic UUID from a namespace + name, hashed with MD5. Same inputs always produce the same UUID. | Deterministic IDs from names (use v5 for new projects) |
| v4 | Random | 122 bits of cryptographically secure randomness. The most widely used version. | General-purpose unique IDs |
| v5 | Name-based (SHA-1) | Like v3, but uses SHA-1 instead of MD5. Preferred over v3 for new name-based UUIDs. | Deterministic IDs from names |
| v6 | Reordered time | Reorders the v1 timestamp bytes so the UUID is lexicographically sortable. Transitional version. | Upgrading from v1 |
| v7 | Unix timestamp-ordered | First 48 bits = Unix ms timestamp. Remainder = random. Naturally sortable, index-friendly. RFC 9562 (2024). | Database primary keys, new projects |
| v8 | Custom/Experimental | Vendor-defined format. Only version and variant bits are constrained by the spec. | Custom schemes requiring UUID format |
What Can This Validator Check?
The UUID Validator accepts UUIDs in any of these formats:
- Standard with hyphens:
550e8400-e29b-41d4-a716-446655440000 - Without hyphens:
550e8400e29b41d4a716446655440000 - With curly braces:
{550e8400-e29b-41d4-a716-446655440000} - Uppercase or lowercase hex digits
For each valid UUID it reports the version, the RFC variant, and a plain-English description of what that version means. For invalid inputs it explains exactly why the string is not a valid UUID.