Xerobit

UUID Validator: Check Format, Version and Variant

Paste any UUID string into this uuid validator to verify its format, identify the version and variant, and extract embedded timestamps for time-based versions like v1 and v7. The tool runs entirely in your browser, so nothing is uploaded or sent to a server.

Result

  • Valid
    Yes
  • Canonical
    f47ac10b-58cc-4372-a567-0e02b2c3d479
  • Version
    4 (Random)
  • Variant
    RFC 4122 (Variant 1)

How to use the uuid validator

  1. Paste or type a UUID string into the input field.
  2. The uuid validator automatically checks the format as you type.
  3. Review the reported version, variant, and canonical form below.
  4. For version 1 or version 7 UUIDs, read the extracted timestamp.

How UUID validation works

A standard UUID is a 128-bit number represented as 32 hexadecimal digits grouped into five sections separated by hyphens: 8-4-4-4-12. The uuid validator first strips any surrounding whitespace, then checks if the string matches this pattern. It accepts both the hyphenated form and the compact 32-character hex form.

Once the basic format is confirmed, the tool reads specific bits to determine the version and variant. The version occupies the four most significant bits of the third group (the 13th hex digit). The variant is encoded in the most significant bits of the fourth group (the 17th hex digit). For example, in f47ac10b-58cc-4372-a567-0e02b2c3d479, the version digit is 4 and the variant digit is a (binary 10xx), which identifies it as an RFC 4122 variant 1 UUID.

UUID versions explained

The version number tells you how the identifier was generated. Here are the defined versions:

VersionNameDescription
0NilAll 128 bits are zero.
1Time-basedUses a 60-bit Gregorian timestamp and a MAC address or random node ID.
2DCE SecurityEmbeds POSIX UID/GID; rarely used.
3Name-based (MD5)Derived from a namespace and name using MD5 hashing.
4Random122 bits of randomness; the most common version today.
5Name-based (SHA-1)Derived from a namespace and name using SHA-1 hashing.
6Reordered TimeSame data as v1 but reordered for better database sorting.
7Unix Epoch TimeUses a 48-bit Unix millisecond timestamp followed by random bits.
8CustomReserved for experimental or vendor-specific formats.

Extracting timestamps from v1 and v7

Time-based UUIDs embed a creation timestamp that this uuid validator can extract. For version 1, the 60-bit timestamp counts 100-nanosecond intervals since October 15, 1582 (the Gregorian calendar epoch). The bits are split across three fields: time_low (first 8 hex digits), time_mid (next 4 hex digits), and time_hi (first 3 hex digits of the third group, after removing the version nibble).

To convert a v1 timestamp to a Unix date, the tool reassembles the 60-bit integer, subtracts the offset between the Gregorian epoch and the Unix epoch (122,192,928,000,000,000 intervals), and divides by 10,000,000 to get seconds.

Version 7 is simpler: the first 12 hex digits (48 bits) represent milliseconds since January 1, 1970. The validator parses those 12 hex characters directly as a Unix millisecond timestamp. Version 6 holds the same 60-bit count as version 1 with the fields reordered, so the timestamp is read the same way. For example, a v7 UUID starting with 018f3b61-5a8c-7... has the hex timestamp 018f3b615a8c, which equals 1,714,688,187,020 milliseconds, corresponding to 2 May 2024 at 22:16:27 UTC.

Variant bits and RFC 4122

The variant field determines the layout of the UUID. It is stored in the most significant bits of the clock_seq_hi_and_reserved field (the first one or two bits of the fourth group).

  • Variant 0 (bit pattern 0xx): Reserved for NCS backward compatibility.
  • Variant 1 (bit pattern 10x): Defined by RFC 4122 and Leach-Salz. This covers nearly all modern UUIDs.
  • Variant 2 (bit pattern 110): Reserved for Microsoft COM/DCOM GUIDs.
  • Variant 3 (bit pattern 111): Reserved for future use.

When you use this uuid validator, the variant row shows which specification the identifier conforms to. The version digit only has a meaning for the RFC 4122 variant (8, 9, a or b). For any other variant the tool reports the version as not defined and shows no timestamp. If you need to validate Microsoft-style identifiers specifically, see the guid validator.

Common mistakes when validating UUIDs

Several issues cause UUID validation to fail even when the identifier looks correct at first glance:

  • Wrong character count: A valid UUID must have exactly 32 hex digits (plus 4 hyphens if formatted). Missing or extra characters invalidate it.
  • Invalid hex characters: Only 0-9 and a-f (case-insensitive) are allowed. Letters like g or z will fail.
  • Mismatched version digit: If the 13th hex digit does not match the claimed version, the UUID is structurally inconsistent.
  • Trailing spaces or newlines: Copy-pasting from terminals often includes invisible whitespace. This tool trims input automatically, but other systems may not.

If you are generating new identifiers rather than checking existing ones, use the UUID generator to produce compliant strings.

Worked examples

ExampleInputResult
UUID v4 (random)UUID string: f47ac10b-58cc-4372-a567-0e02b2c3d479Valid: Yes; Canonical: f47ac10b-58cc-4372-a567-0e02b2c3d479; Version: 4 (Random); Variant: RFC 4122 (Variant 1)
UUID v1 (time-based)UUID string: 6ba7b810-9dad-11d1-80b4-00c04fd430c8Valid: Yes; Canonical: 6ba7b810-9dad-11d1-80b4-00c04fd430c8; Version: 1 (Time-based); Variant: RFC 4122 (Variant 1); Timestamp: 1998-02-04 22:13:53 UTC
UUID v7 (Unix epoch time)UUID string: 018f3b61-5a8c-7c3d-9e2a-1b4c5d6e7f80Valid: Yes; Canonical: 018f3b61-5a8c-7c3d-9e2a-1b4c5d6e7f80; Version: 7 (Unix Epoch Time); Variant: RFC 4122 (Variant 1); Timestamp: 2024-05-02 22:16:27 UTC
Nil UUIDUUID string: 00000000-0000-0000-0000-000000000000Valid: Yes; Canonical: 00000000-0000-0000-0000-000000000000; Version: 0 (Nil); Variant: NCS (backward compat) (special value); Type: Nil UUID

FAQ

What is a uuid validator?

A uuid validator is a tool that checks whether a given string conforms to the UUID format defined in RFC 9562, which replaced RFC 4122. It verifies the length, hex characters, hyphen placement, version, and variant bits.

Can I paste a UUID without hyphens?

Yes. This uuid validator accepts both the standard 36-character hyphenated format and the compact 32-character hexadecimal format. It will display the canonical hyphenated form in the results.

How do I know what version my UUID is?

Look at the 13th hexadecimal digit (the first character of the third group). That digit indicates the version: 1 for time-based, 4 for random, 7 for Unix epoch time, and so on.

Why does my UUID show a timestamp?

Version 1 and version 7 UUIDs embed a creation timestamp. The validator extracts and converts these bits into a human-readable date and time.

Is this tool safe for sensitive identifiers?

Yes. The validation logic runs entirely in your browser. No UUID strings are transmitted to any server.

What is the difference between a UUID and a GUID?

They are the same 128-bit structure. UUID is the term used in RFC 4122, while GUID is Microsoft's name for it. You can also use our guid validator for Microsoft-specific contexts.

Does case matter in a UUID?

No. Hexadecimal digits in a UUID are case-insensitive. Both uppercase and lowercase letters are accepted, though the canonical representation uses lowercase.