How to Generate UUID in Python
Python includes a built-in uuid module for generating RFC 4122 compliant UUIDs. This guide covers all UUID generation methods with practical examples.
1. Generate UUID v4 (Random)
import uuid
# Generate a random UUID (version 4)
my_uuid = uuid.uuid4()
print(my_uuid)
# Output: 550e8400-e29b-41d4-a716-446655440000
# Get as string
uuid_string = str(uuid.uuid4())
print(uuid_string) 2. Generate UUID v1 (Timestamp)
import uuid
# Generate a timestamp-based UUID (version 1)
my_uuid = uuid.uuid1()
print(my_uuid)
# Output: 2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d 3. UUID Formatting
import uuid
my_uuid = uuid.uuid4()
# Standard format
print(str(my_uuid)) # "550e8400-e29b-41d4-a716-446655440000"
# Without dashes (hex)
print(my_uuid.hex) # "550e8400e29b41d4a716446655440000"
# Uppercase
print(str(my_uuid).upper()) 4. UUID in Django Models
from django.db import models
import uuid
class MyModel(models.Model):
id = models.UUIDField(
primary_key=True,
default=uuid.uuid4,
editable=False
)
name = models.CharField(max_length=100) 5. Validate a UUID
import uuid
def is_valid_uuid(val):
try:
uuid.UUID(str(val))
return True
except ValueError:
return False
print(is_valid_uuid("550e8400-e29b-41d4-a716-446655440000")) # True
print(is_valid_uuid("not-a-uuid")) # False 6. Generate Multiple UUIDs
import uuid
# Generate a list of 10 UUIDs
uuids = [str(uuid.uuid4()) for _ in range(10)]
for u in uuids:
print(u) Ready to use what you learned?
Try UUID Generator now