Paste any UUID or GUID string into the input field below to instantly validate its format, detect the UUID version (v1, v3, v4, v5, v7), and view a detailed structure analysis of its components. This free online UUID validator checks RFC 4122 and RFC 9562 compliance, identifies the variant bits, and confirms whether your identifier is a properly formatted universally unique identifier — all processing happens in your browser with no data sent to any server. For other technical calculators, browse technology & gadgets calculators at Joteo.
What Makes a UUID Structurally Valid?
A UUID is a 128-bit label encoded as 32 hex digits in five hyphen-separated groups — the canonical 8-4-4-4-12 layout, 36 characters total including dashes: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. M is the version character, N encodes the variant. Some systems wrap the text in curly braces, but braces aren't part of the canonical structure. Because it is all zeros, a nil uuid works well as a sentinel that marks a missing reference in an API response.
A special case worth knowing: the Nil UUID — all 128 bits set to zero, 00000000-0000-0000-0000-000000000000 — is explicitly defined as valid in RFC 4122 Section 4.1.7. This tool recognizes it as a distinct case rather than flagging it as invalid.
What This Validator Checks
Submitting a UUID runs it through several structural checks:
- Overall length — exactly 36 characters (32 hex digits plus four dashes)
- Hyphen placement — dashes must appear at positions 9, 14, 19, and 24
- Character set — every non-dash character must be a valid hex digit (0–9, a–f, case-insensitive)
- Version digit — the first character of the middle segment must fall in the recognized range for standard and newer UUID types
- Variant bits — the first character of the fourth block must match a known variant pattern
The strict check this tool applies:
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i
A looser pattern additionally accepts optional hyphens and surrounding braces before falling back to the strict check — so {550E8400E29B41D4A716446655440000} and the canonical hyphenated form both validate correctly.
Bulk Validation
Paste multiple UUIDs, one per line, into the Bulk UUID Validation section below and every entry is checked independently — useful for auditing exports, test fixtures, or database migrations containing many labels at once. The summary shows running Valid and Invalid counts alongside per-line results. Press generate on the uuid v1 generator and the creation time embedded in the value appears right under the result.
Worked Examples
Valid — a UUID v4: 550e8400-e29b-41d4-a716-446655440000. Version character "4" matches the recognized range; variant character "a" falls within [89ab], confirming the RFC 4122 variant. Result: valid.
Invalid — a truncated string: 550e8400-e29b-41d4-a716. Only four groups instead of five, 24 characters instead of 36 — the check fails immediately. Common causes of malformed entries include extra characters, non-hex characters, missing hyphens, or a version digit outside the valid range.
Special case — the Nil UUID: 00000000-0000-0000-0000-000000000000 carries no version or variant information at all. It's intentionally excluded from the strict version check but explicitly accepted as a reserved value — this tool reports it as "Valid (Nil)" rather than rejecting it.
Validating UUIDs Programmatically
To replicate this check in your own code rather than pasting values into a browser tool, most ecosystems have a well-maintained library rather than a hand-rolled regex:
- JavaScript / Node.js — the
uuidnpm package exports a booleanvalidate()function - TypeScript / NestJS —
class-validator's@IsUUID()decorator validates DTO properties directly - JSON Schema —
ajvsupports theformat: 'uuid'keyword natively - General-purpose validation — the
validatorlibrary'sisUUID(str, version)covers v3 through v5 alongside other input types
Frequently Asked Questions
How does this UUID validator work?
It checks each entry against the RFC 4122 structural rules: exactly 36 characters, hyphens at positions 9, 14, 19, and 24, every other character a valid hex digit, a version digit in the recognized range, and variant bits matching a known pattern. It then reports the detected version alongside a valid or invalid result.
Can I validate multiple UUIDs at once?
Yes — use the Bulk UUID Validation section below to paste one UUID per line. The tool validates all of them and shows running Valid and Invalid counts alongside per-line results.
What is a NIL UUID?
The NIL UUID is the special all-zeros value 00000000-0000-0000-0000-000000000000, defined explicitly in RFC 4122 Section 4.1.7. It's technically valid, and this tool recognizes it as a distinct "Valid (Nil)" case rather than flagging it as malformed.
Does the validator accept UUIDs with curly braces (GUID format)?
Yes. Some systems, particularly Windows, format GUIDs with surrounding curly braces like {550e8400-e29b-41d4-a716-446655440000}. This validator strips braces (along with quotes and whitespace) before checking, so both forms are accepted.
What regex pattern is used for UUID validation?
The strict check is /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i — requiring a version digit of 1 through 8 and standard RFC 4122 variant bits. A looser pattern additionally accepts optional hyphens and braces before the strict check runs.
Is UUID the same as GUID?
Functionally, yes. GUID (Globally Unique Identifier) is Microsoft's term for the same 128-bit format defined by RFC 4122. The terms are interchangeable in almost every practical context.