Skip to content
SimpleTools24

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

  1. Format: 32 hexadecimal digits, either in the 8-4-4-4-12 hyphenated form or one of the accepted alternatives below.
  2. 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)).
  3. Version: the 13th hex digit, which RFC 9562 defines only for its own variant (RFC 9562 §4.2 (opens in a new tab)).
  4. Special values: the all-zero Nil UUID and the all-ones Max UUID.
Text forms the validator accepts
FormExample
Standard (RFC 9562)f81d4fae-7dec-11d0-a765-00a0c91e6bf6
Uppercase or mixed caseF81D4FAE-7DEC-11D0-A765-00A0C91E6BF6
Braced (Microsoft style){f81d4fae-7dec-11d0-a765-00a0c91e6bf6}
URNurn: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:

Regular expressionCase-insensitive
^[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.

Sources