Regex for UUID v4
Regex Pattern
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$UUID version 4 (randomly generated)
Quick Answer
The regex pattern for uuid v4 is `^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`. UUID version 4 (randomly generated). This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.
Test Examples
| Input | Result |
|---|---|
| 550e8400-e29b-41d4-a716-446655440000 | ✓ Matches |
| f47ac10b-58cc-4372-a567-0e02b2c3d479 | ✓ Matches |
| 550e8400-e29b-11d4-a716-446655440000 | ✗ No match |
| not-a-uuid | ✗ No match |
| 550e8400e29b41d4a716446655440000 | ✗ No match |
Code Examples
javascript
const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
const isValid = regex.test(value);python
import re
pattern = r'^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'
if re.match(pattern, value):
print("valid")ruby
pattern = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/
if value =~ pattern
puts "valid"
endphp
if (preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $value)) {
echo "valid";
}java
String pattern = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$";
boolean isValid = value.matches(pattern);Frequently Asked Questions
Related Regex Patterns
UUID (Any Version)
Any RFC 4122 UUID (versions 1-5)
JWT Token
JSON Web Token (header.payload.signature)
Hex String
Any-length hexadecimal string
Base64 String
Standard base64 encoded string
Alphanumeric Username
Username with letters, digits, underscores (3-16 chars)
Twitter Handle
Twitter/X handle, 1-15 chars, optional @