UUID Generator
Generate various types of universally unique identifiers (UUIDs) and validate existing ones
UUID Validator
UUID Types Explained
UUID v4 (Random)
Randomly generated, most commonly used. 122 bits of entropy.
Microsoft GUID
UUID wrapped in curly braces, used in Microsoft systems.
Short UUID
8-character identifier, less collision-resistant but shorter.
NanoID
URL-safe, customizable length. More entropy per character.
Base64 UUID
UUID encoded in Base64, shorter than standard format.
Timestamp UUID
Contains timestamp, useful for time-based sorting.
How to Generate UUIDs
Configure Settings
Set the number of standard UUIDs to generate and customize the NanoID length if needed.
Generate All Types
Click generate to create multiple UUID formats simultaneously: standard UUIDs, GUIDs, NanoIDs, and more.
Copy & Validate
Copy individual UUIDs or download all as a text file. Use the validator to check existing UUIDs.
UUID Standards and Versions
Understanding different UUID specifications and their use cases
UUID v1 (Time-based)
Based on timestamp and MAC address. Predictable but sortable.
Format: timestamp + clock sequence + node
UUID v4 (Random)
Randomly generated. Most widely used due to simplicity and privacy.
122 bits of entropy, 2^122 possible values
UUID v5 (Name-based)
Generated from namespace and name using SHA-1. Deterministic.
SHA-1(namespace + name)
Microsoft GUID
UUID wrapped in braces, used in Windows and .NET applications.
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
Common Use Cases for UUIDs
Database Primary Keys
Use UUIDs as primary keys in distributed systems to avoid collisions when merging data from multiple sources.
API Request IDs
Track API requests and responses with unique identifiers for debugging and logging purposes.
File Names
Generate unique file names for uploads to prevent conflicts and ensure uniqueness across systems.
Session IDs
Create secure, unpredictable session identifiers for user authentication and session management.
Microservices
Identify resources across distributed microservices without central coordination.
Message Queues
Uniquely identify messages in queue systems for deduplication and tracking.
Alternative Unique Identifiers
Comparing different unique identifier formats and their advantages
NanoID
URL-safe, shorter than UUID
Length: 21 chars (default)
Alphabet: 64 characters
Collision: ~1M years at 1K/hour
CUID
Collision-resistant, sortable
Length: 25 chars
Format: c + timestamp + counter + random + hostname
Sortable: By timestamp
ULID
Lexicographically sortable
Length: 26 chars
Format: 48-bit timestamp + 80-bit randomness
Base32: Crockford encoding
Performance Comparison
UUID v4: Standard, widely supported
NanoID: 60% smaller, URL-safe
Short UUID: 8 chars, higher collision risk
Base64 UUID: 22 chars, database efficient
Timestamp UUID: Sortable, time-based
GUID: Microsoft ecosystem standard
Frequently Asked Questions
What's the difference between UUID and GUID?
GUID (Globally Unique Identifier) is Microsoft's term for UUID. GUIDs are typically written with braces {} and uppercase letters, while UUIDs use lowercase without braces.
How unique are UUIDs really?
UUID v4 has 122 bits of entropy, meaning there are 2^122 possible values. The probability of generating duplicate UUIDs is so low it's considered negligible for practical purposes.
Should I use UUID v1 or v4?
UUID v4 is generally preferred because it doesn't leak information about when or where it was generated. Use v1 only if you need time-based sorting or have specific requirements.
Can UUIDs be used as database primary keys?
Yes, but consider the impact on database performance. UUIDs are larger than integers and not sequential, which can affect indexing. Consider using ULID for better database performance.
Generator Features
Today's Stats
Pro Tips
Database Keys: Consider using ULID instead of UUID for better database performance and sortability.
URL Safety: Use NanoID for identifiers that will appear in URLs - they're shorter and URL-safe.
Security: Never use UUIDs for security tokens - use cryptographically secure random generators instead.