UUID Validator & Parser

Validate UUIDs against the real RFC 4122 / RFC 9562 rules, decode every field — version, variant, timestamps, node — and bulk-check whole lists with duplicate detection. 100% in your browser.

Paste a single UUID to see exactly what is inside it: which version it is, which variant, what each of the five hex groups contains, and — for time-based versions — the creation date hidden in the bits. Or paste a whole list (one per line, comma- or space-separated, or a JSON array) to validate in bulk, spot duplicates, and export the results as CSV or JSON. Pairs with the UUID Generator for the other half of the job.

🔒 100% private — nothing is uploaded or stored. Every check, parse and export runs entirely in your browser. Paste IDs from staging or production freely — nothing is sent to our servers, written to disk, or logged, and the page keeps working if your internet connection drops.

Inspect a single UUID

Paste one UUID — hyphens optional, any case, braces, quotes and urn:uuid: prefixes are handled. It is validated and parsed live as you type.

Paste a UUID to validate and parse it.

Bulk validation

Paste any number of UUIDs — one per line, or separated by spaces, commas or semicolons. A JSON array of strings works too. Analysis runs live as you type (up to 5,000 entries).

How the validation works

A string is only a valid RFC 4122 UUID if it passes three independent checks. This tool runs all three and tells you which one failed — so a “no” comes with a reason, not a shrug:

  1. Shape. Exactly 32 hex digits, conventionally written as five groups of 8-4-4-4-12. Hyphens, case, surrounding braces, quotes and a urn:uuid: prefix are cosmetic and are normalised away before the check.
  2. Version. The 13th hex digit must be a defined version: 1, 3, 4 or 5 (RFC 4122), 2 (deprecated DCE security), 6 or 7 (RFC 9562 time-ordered), or 8 (custom). The all-zero (nil) and all-one (max) UUIDs are reserved sentinels.
  3. Variant. The 17th hex digit encodes the top three bits of the variant field. 8/9/a/b is the RFC 4122 variant; c/d is the Microsoft legacy variant; the other values are reserved.

The results use three states, because real-world data is messier than a binary pass/fail:

  • ✓ valid — passes all three checks. This is a genuine RFC 4122 / 9562 UUID.
  • ⚠ warning — the 32-hex shape is right but the version or variant bits are non-standard (e.g. a Microsoft GUID with variant bits 110, or a 128-bit value with version nibble 0). It will parse and round-trip, but code that assumes RFC 4122 semantics may misbehave.
  • ✗ invalid — wrong length or non-hex characters. Not a UUID in any sense.

The versions, decoded

VersionHow it's builtWhat the parser shows you
0 (nil)All 128 bits zeroThe reserved “no identifier” sentinel — flagged, never generated
maxAll 128 bits oneThe reserved sentinel (inverse of nil, RFC 9562 §5.10) — flagged like nil
1100 ns timestamp since 1582-10-15 + 14-bit clock sequence + 48-bit nodeThe creation date (UTC + local), the raw 100 ns tick count, and the node as a MAC address with its multicast bit
2DCE security UUID (embedded POSIX UID/GID)Flagged as deprecated — you almost certainly do not have one of these
3MD5 hash of a namespace + nameHash fields; the same namespace+name always yields the same UUID (deterministic)
4122 random bitsRandom fields + version/variant nibbles; the general-purpose default
5SHA-1 hash of a namespace + nameHash fields; deterministic like v3 but collision-resistant
6v1’s 100 ns Gregorian timestamp, re-ordered most-significant-first so it sorts by timeThe creation date decoded from the 100 ns timestamp (same 1582 epoch as v1)
748-bit Unix-millisecond timestamp + 74 random bitsThe Unix millisecond timestamp decoded to a date — the modern database primary key
8Custom / vendor-defined (RFC 9562)Three vendor-defined blocks (48 + 12 + 62 bits) around the version and variant nibbles

The variant field

The variant is encoded in the top three bits of the third group (the 17th hex digit). It tells other software how to read the rest of the UUID:

Top 3 bits17th hex digitMeaning
0xx0–7NCS backward-compatible — pre-RFC legacy
10x8, 9, a, bRFC 4122 — the one you want
110c, dMicrosoft (GUID) legacy
111e, fReserved for future definition

Note the asymmetry: a v4 UUID with variant 10 is valid, but the same 128 bits with the variant bits 110 (17th digit c or d) is a Microsoft GUID — the tool flags it as a warning rather than silently passing it, because interop bugs usually start exactly there.

Common pitfalls when validating UUIDs

  • Case and punctuation are cosmetic. {8-4-4-4-12} in UPPERCASE with braces is the same UUID as lowercase with hyphens. Normalise before comparing — this tool does it for you and shows the canonical form.
  • 32 characters vs 36. Without hyphens a UUID is 32 hex digits; with them, 36 characters. Both are accepted here; truncating to “short” IDs is not — every hex digit carries entropy.
  • GUID ≠ UUID (sometimes). Microsoft's GUID is the same 128-bit format, but older .NET code writes the first three groups little-endian and often uses the Microsoft variant (17th digit c or d). If your data came from COM/ActiveX, expect warnings.
  • The nil UUID sneaks into logs. 00000000-0000-0000-0000-000000000000 usually means “no ID was set” — a bug, not a value. Its all-ones twin, the max UUID ffffffff-ffff-ffff-ffff-ffffffffffff, is rarer but equally reserved. Both are valid by definition, so this tool flags them distinctly instead of hiding them.
  • v1 timestamps are readable. Anyone holding a v1 UUID can read when it was created and the node it was created on. If that metadata is sensitive, use v4 or v7 (v7 still leaks the creation time, just coarser).
  • Version 4 is not sortable. If your validation is really “is this a usable primary key”, you may also want to check the version — v4 keys fragment B-tree indexes; v7 does not.

Need to generate them instead?

This tool inspects UUIDs; the UUID Generator mints them — crypto-secure v4, time-ordered v7 and legacy v1 in bulk, with the same privacy guarantee. Generate a batch there, paste it back here, and verify exactly what you shipped.

Nothing on this page leaves your browser: validation, parsing, duplicate detection, copying and downloading all happen locally, with no server round-trip and no storage of any kind.


Luke Keam
Thank you for reading. Email me: [email protected]
Luke Keam | techgeek.biz