UUID validator: format, version and variant

Checks the format, version and variant, and explains any error.

Understands curly braces, URN, uppercase letters and input without hyphens.

Checked 0

Paste values — validation runs instantly, no button needed.

What is checked

First the string is normalised: quotes, curly braces and the urn:uuid: prefix are removed. Then the 8-4-4-4-12 format, the allowed characters (only 0–9 and a–f) and the hyphen positions are checked. After that the version and variant bits are read: the version is the high nibble of the third group, the variant is the two high bits of the fourth.

Versions 1–8 are considered defined by the standard; the RFC variant is the values 8, 9, a or b at the start of the fourth group. The NIL UUID (all zeros) and MAX UUID (all ones) are valid special values, not an error.

Why a UUID can be invalid

Most often it is the length: 31 or 33 characters instead of 32, stray spaces from copying, the letter g instead of 9. Less often the hyphens are in the wrong places, or the version is 0, which the standard does not define. Some libraries produce a “UUID” with the NCS or Microsoft variant: formally the string is correct, but some systems will not accept it, so the tool shows a warning separately from an error.

What the validator does not do

It does not check whether a record with that identifier exists in a database, whether it is unique in your system, or whether you have rights to it. This is input validation, not authorisation: existence and access are checked in the application.

The list can be pasted whole — one value per line. Validation runs as you type, up to 200 lines at a time.

Frequently asked questions

What counts as a valid UUID?

32 hex characters in 8-4-4-4-12 form, a version from 1 to 8 and the RFC variant (8, 9, a, b). Hyphens are optional, and braces, quotes and the urn:uuid: prefix are accepted.

Why does a version 0 UUID fail?

Version 0 is not defined in the standard, so such values are junk. The exception is the NIL UUID, where every bit is zero: that is valid as a special value.

Does the validator check whether the record exists?

No. It only looks at the syntax and the version and variant bits, not at a database or access rights.

Checked: 26 October 2026. For reference only — the result depends on the material and the skill of the installer.