UUID Version Checker
Read UUID version and variant from standard format.
What it does
UUIDs carry version in one nibble. The third group starts with version: 1 for time, 4 for random, 7 for Unix time in new specs. Variant lives in the fourth group start.
The tool above takes a dashed UUID and returns version, variant, and format check. The default 123e4567-e89b-12d3-a456-426614174000 matches the worked example, so the page opens showing v1. Type a new UUID to update all three results.
Version reads char 15 (one indexed 15th with dashes). Here d3 gives 1? Actually third group 12d3 starts with 1 for v1. Variant reads char 20: a456 starts with a for RFC4122 (10xx).
Use this to sort v1 time versus v4 random in logs. For nil or max IDs use separate constants. This checks format only, never uniqueness.
This page shows the positions, one full hand checked example, a reference table, and practice checks that run through the tool.
How to use
- Paste UUID with dashes, 8-4-4-4-12 hex.
- Read Version as v1, v4, and so on.
- Read Variant as RFC4122, NCS, Microsoft, or Future.
- Fix dashes and length on format errors.
- Use version to route time versus random handling.
- Check registry separately for assignment.
Formula
- version
- Nibble 1-8.
- variant
- Layout family.
- dashes
- 8-4-4-4-12 required here.
Hex case ignored. Braces and urn prefixes strip before paste here (enter bare dashed form).
Worked example
Example: 123e4567-e89b-12d3-a456-426614174000
Read version of the sample UUID.
- Split groups: 123e4567, e89b, 12d3, a456, 426614174000.
- Third group 12d3 starts with 1, so v1.
- Fourth a456 starts with a for RFC4122.
- Length 36 with dashes at 9, 14, 19, 24.
- Tool shows v1, RFC4122, valid format.
- v1 means time based.
Reference table
| UUID | Version | Variant |
|---|---|---|
| 123e4567-e89b-12d3-a456-426614174000 | v1 | RFC4122 |
| 550e8400-e29b-41d4-a716-446655440000 | v4 | RFC4122 |
Limits
- Format only. No registry check.
- Dashed 36 char form only here.
- Version 1-8 read, others pass through as numbers.
- Nil and max need constants handling.
Common mistakes
- Omitting dashes so length fails.
- Reading group 2 instead of group 3 for version.
- Lower versus upper confusion (ignored here).
- Assuming v4 means secure random source.
- Pasting urn:uuid: prefix that breaks validation.
Try it yourself
Quick checks. Answers sit tucked under each question.
Version of 550e8400-e29b-41d4-a716-446655440000?
v4, RFC4122, valid format.
Variant with a at 19?
RFC4122.
Questions
Sample version?
v1.
Variant?
RFC4122 for a.
Format?
8-4-4-4-12 hex with dashes.
v4?
Random. Here 550e8400 example.
Nil?
All zeros, version 0.
Unique?
Not checked here.