UUID Validator
Paste UUIDs or GUIDs, one per line, to check that each is well formed and see which version and variant it is. Results update as you type.
Accepted forms: 8-4-4-4-12 with hyphens, 32 hex digits, {braced} and urn:uuid:. Checked as you type, in your browser.
What the Validator Checks
- Format: 32 hexadecimal digits, either in the 8-4-4-4-12 hyphenated form or one of the accepted alternatives below.
- Variant: the high bits of the 17th hex digit. RFC 9562 UUIDs use binary 10, so that digit is 8, 9, a or b (RFC 9562 §4.1 (opens in a new tab)).
- Version: the 13th hex digit, which RFC 9562 defines only for its own variant (RFC 9562 §4.2 (opens in a new tab)).
- Special values: the all-zero Nil UUID and the all-ones Max UUID.
| Form | Example |
|---|---|
| Standard (RFC 9562) | f81d4fae-7dec-11d0-a765-00a0c91e6bf6 |
| Uppercase or mixed case | F81D4FAE-7DEC-11D0-A765-00A0C91E6BF6 |
| Braced (Microsoft style) | {f81d4fae-7dec-11d0-a765-00a0c91e6bf6} |
| URN | urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 |
| Compact (no hyphens) | f81d4fae7dec11d0a76500a0c91e6bf6 |
Braces come from Microsoft’s curly-braced GUID string representation (Microsoft Learn (opens in a new tab)); Python’s uuid.UUID accepts the same set of forms (Python docs (opens in a new tab)).
What a Valid Result Doesn’t Tell You
Format validation can’t say whether an identifier exists in your database, belongs to a particular user or application, or was generated correctly. A UUID can be perfectly formed and still be a typo of the one you meant: RFC 9562 notes that people can’t easily spot a slightly modified UUID by eye (RFC 9562 §8 (opens in a new tab)). Look the ID up in the system that owns it.
Validating UUIDs in Your Own Code
A regular expression for the standard form of an RFC 9562 UUID, versions 1 to 8:
^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$Prefer your platform’s parser where one exists, such as Guid.TryParse in .NET or uuid.UUID() in Python, so input handling matches the rest of your system. To see what’s inside a valid ID, open the UUID decoder; to create new ones, use the GUID generator.
Frequently Asked Questions
What does this UUID validator check?
That each line is a correctly formed 128-bit UUID in a recognised text form, then which variant and version its bits indicate. It also shows the canonical lowercase hyphenated form.
Does a valid result mean the UUID exists in my system?
No. The validator only checks the text. Whether an ID belongs to a record, user or application can only be checked by that system.
Why is a UUID with version 0 or 9 shown as valid?
Its format is valid, but the version is reserved or unused under RFC 9562. Some systems create such values; whether to accept them is up to your application.
Are uppercase or braced GUIDs valid?
Yes. RFC 9562 allows uppercase, lowercase or mixed hex digits, and many Microsoft tools write GUIDs in braces. The validator accepts both and shows the canonical form.
Is a UUID without hyphens valid?
It’s a common way to write the same value, and the validator accepts it. RFC 9562’s standard text form uses hyphens, so convert before sending it to systems that expect them.
How many UUIDs can I check at once?
Up to 1,000 lines. Blank lines are skipped.
Related UUID tools
- UUID DecoderSee the version, variant and embedded timestamp inside a UUID.
- Online GUID GeneratorGenerate UUID v4, v7, v1, v3, v5 and v6 identifiers in bulk, with copy and download.
- UUID v4 GeneratorRandom version 4 UUIDs, one or a thousand at a time.
- UUID v7 GeneratorTime-ordered version 7 UUIDs with their embedded timestamps.
Sources
- RFC 9562: Universally Unique IDentifiers (UUIDs) – IETF (May 2024; obsoletes RFC 4122) (opens in a new tab)
- GUID: Curly Braced String Representation – Microsoft Learn (MS-DTYP) (opens in a new tab)
- uuid: UUID objects according to RFC 9562 – Python documentation (opens in a new tab)