UUID Validator
Check one identifier or a whole list for valid UUID format, with the version, variant, and embedded timestamp for each valid one.
One identifier per line. Hyphens, braces, and a urn:uuid: prefix are all accepted. Checked live, nothing leaves your browser.
Paste one identifier or a whole list to check it.
How to validate a UUID online
Paste the identifiers
Enter one UUID or a whole list, one per line. Hyphens, braces, and a urn:uuid: prefix are all accepted.
Read the verdict for each line
Every entry gets a valid or invalid status, with a specific reason for anything that fails.
Check the details of a valid entry
A valid identifier shows its version, its variant, whether it is the nil or max value, and the embedded date for time-based versions.
Copy the report
Copy the full report, with the pass and fail counts and every line, ready to paste into a note or a bug report.
Why use this tool
Format checks with a clear reason
Each entry is checked for the right length, allowed characters, and correct hyphen grouping, and a failing entry says exactly which of those it broke.
Flexible input
Identifiers are accepted with or without hyphens, wrapped in braces, or prefixed with urn:uuid:, so a value copied from a log line or a database export works without cleanup.
Version and variant reporting
A valid identifier is broken down into its version number and its variant bits, covering the standard RFC 4122 and RFC 9562 versions from 1 through 8.
Nil and max detection
The all-zero nil identifier and the all-F max identifier are recognised and labelled, rather than reported as a generic valid version.
Embedded timestamps
For version 1, 6, and 7 identifiers, the timestamp built into the value is decoded and shown as a readable date.
Runs entirely in your browser
Everything is checked on your device. Identifiers are never uploaded, stored, or logged.
About this tool
This tool checks whether one or many identifiers are correctly formed UUIDs. Paste a list, one per line, and each entry is checked for the right digit count, allowed hex characters, and the standard 8-4-4-4-12 hyphen grouping when hyphens are present. A urn:uuid: prefix and surrounding braces are stripped automatically, so values copied straight from a log line, a Windows registry export, or a database dump work without cleanup first.
A valid entry is broken down further: its version (1 through 8), its variant bits, and whether it is the special all-zero nil identifier or the all-F max identifier. For the time-based versions, 1, 6, and 7, the timestamp encoded in the value is decoded and shown as a readable date, which is useful for confirming roughly when a record was created without touching a database. An invalid entry gets a specific reason instead of a flat rejection: wrong length, characters outside 0 to 9 and a to f, or hyphens that are not where the standard format expects them.
Everything runs in your browser, so a list of identifiers pulled from production data never leaves your device. To generate new version 4 or version 7 identifiers, use the UUID generator; to derive a deterministic version 5 identifier from a name, use the UUID v5 generator.
Frequently asked questions
- What makes a UUID invalid?
- Three things: the wrong number of hex digits (a UUID needs exactly 32), characters outside 0 to 9 and a to f, or hyphens placed somewhere other than the standard 8-4-4-4-12 grouping. Each failing entry reports which of these it hit.
- Can I paste UUIDs without hyphens, or wrapped in braces?
- Yes. Braces are stripped from around an entry, a leading urn:uuid: prefix is removed, and identifiers work with or without hyphens, as long as the 32 hex digits underneath are correct.
- What do version and variant mean?
- The version is a digit encoded in the identifier that says how it was generated, such as version 4 for random or version 7 for time-ordered. The variant is a separate set of bits that identifies which layout rules the identifier follows; almost every UUID in modern use reports the RFC 4122 and RFC 9562 standard variant.
- What are the nil and max identifiers?
- The nil identifier is all zeros (00000000-0000-0000-0000-000000000000) and is used as an explicit placeholder for "no value". The max identifier is all Fs and is sometimes used as an upper sentinel in range queries. Both are recognised and labelled rather than treated as a version 0 or a non-standard version.
- How is the embedded timestamp read?
- Versions 1, 6, and 7 pack a timestamp into part of the identifier. This tool decodes that field back into a date so you can see roughly when the identifier was generated, without needing the system that created it.
- Is the list I paste uploaded anywhere?
- No. Every check runs in your browser. Identifiers are never sent to a server, uploaded, or logged.
Related tools
UUID Generator
Generate version 4 and version 7 UUIDs in bulk, with case and format options.
UUID v5 Generator
Generate deterministic name-based UUIDs from a namespace and a name. Supports version 5 and version 3, single values or whole batches.
Data URI Generator
Turn any file, image, or SVG into a ready-to-paste data URI, with CSS and img snippets.
Dice Roller
Roll d4 to d100 dice with any count and a modifier, and see each die, the subtotal, and the total.
Docker Run to Compose Converter
Paste a docker run command and get the equivalent Compose service definition, with any flag it cannot map listed rather than dropped.
.dockerignore Generator
Build a .dockerignore from stack presets for Node, Python, Go, and more. Merge the patterns, drop duplicates, add your own lines, then copy or download the file.