UUID/ULID Generator
Generate UUID (v1/v4) and ULID identifiers
UUID/ULID Generator
Generate universally unique identifiers: UUID v1, UUID v4, and sortable ULIDs. Supports batch generation and quick copy.
How to use the UUID/ULID Generator
- •Select the identifier type you need: UUID v1, UUID v4, or ULID. Each type has different characteristics suited to different use cases.
- •Set the quantity if you need to generate multiple identifiers at once. The batch mode lets you create up to 100 IDs in a single click.
- •Click "Generate" to produce your identifiers. Each one is cryptographically random (for v4 and ULID) or timestamp-based (for v1).
- •Copy to clipboard by clicking the copy icon next to any generated identifier, or use the "Copy All" button for batch results.
- •Toggle format options such as uppercase/lowercase for UUIDs, or with/without hyphens, depending on your system's requirements.
What are UUIDs and ULIDs?
A UUID (Universally Unique Identifier) is a 128-bit identifier standardized by RFC 4122. UUIDs are designed to be unique across space and time without requiring a central authority to issue them. They are written as 32 hexadecimal digits displayed in five groups separated by hyphens, for example: 550e8400-e29b-41d4-a716-446655440000.
UUID v1 generates identifiers using the current timestamp and the MAC address of the machine. This means v1 UUIDs are roughly sortable by creation time, but they also leak information about where and when they were created.
UUID v4 generates identifiers using random or pseudo-random numbers. The vast majority of the 128 bits are random, which makes collision extraordinarily unlikely (approximately 1 in 2^122). UUID v4 is the most widely used version in modern applications because it requires no coordination between systems.
A ULID (Universally Unique Lexicographically Sortable Identifier) is a newer alternative that encodes a 48-bit timestamp in the first 10 characters and 80 bits of randomness in the remaining 16 characters. ULIDs use Crockford's Base32 encoding, making them shorter than UUIDs (26 characters vs. 36) and naturally sortable by creation time. This makes ULIDs ideal for database primary keys where insertion order matters, such as in event logs or time-series data.
The probability of collision for both UUID v4 and ULID is vanishingly small. You would need to generate roughly 2.71 quintillion UUIDs to have a 50% chance of a single collision. For all practical purposes, they can be treated as globally unique.
Common use cases
- •Database primary keys: UUIDs and ULIDs are commonly used as primary keys in distributed databases where auto-incrementing integers would cause conflicts across nodes. ULIDs are especially useful here because they are sortable, which helps B-tree index performance.
- •API resource identifiers: Public-facing APIs use UUIDs to identify resources without exposing sequential internal IDs, which could leak information about the number of records in a system.
- •Distributed system message IDs: In microservice architectures, each service can independently generate unique message or transaction IDs without coordinating with other services.
- •Session and correlation tokens: Logging and tracing systems use UUIDs as correlation IDs to trace a request across multiple services.
FAQ
What is the difference between UUID v1 and UUID v4? UUID v1 includes a timestamp and the machine's MAC address, so the same machine will produce sequentially ordered IDs but reveals identifying information. UUID v4 is entirely random and reveals nothing about its origin, making it the preferred choice for most applications.
Can UUIDs collide? Theoretically yes, but the probability is so low it is not a practical concern. With UUID v4, you would need to generate about 103 trillion UUIDs before having a one-in-a-billion chance of a collision. Most systems treat them as unique without any collision check.
Should I use ULID or UUID? Use ULIDs when you need sortable identifiers (such as database primary keys where insertion order matters). Use UUID v4 when you need maximum compatibility, since virtually every programming language, database, and framework supports UUIDs natively.
Is my data safe?
Yes. This tool runs entirely in your browser. Your data is never sent to our servers. All UUID and ULID generation happens locally using your browser's built-in cryptographic random number generator.
How to use the UUID/ULID Generator
- Select the identifier type you need: UUID v1, UUID v4, or ULID. Each type has different characteristics suited to different use cases.
- Set the quantity if you need to generate multiple identifiers at once. The batch mode lets you create up to 100 IDs in a single click.
- Click "Generate" to produce your identifiers. Each one is cryptographically random (for v4 and ULID) or timestamp-based (for v1).
- Copy to clipboard by clicking the copy icon next to any generated identifier, or use the "Copy All" button for batch results.
- Toggle format options such as uppercase/lowercase for UUIDs, or with/without hyphens, depending on your system's requirements.
What are UUIDs and ULIDs?
A UUID (Universally Unique Identifier) is a 128-bit identifier standardized by RFC 4122. UUIDs are designed to be unique across space and time without requiring a central authority to issue them. They are written as 32 hexadecimal digits displayed in five groups separated by hyphens, for example: 550e8400-e29b-41d4-a716-446655440000.
UUID v1 generates identifiers using the current timestamp and the MAC address of the machine. This means v1 UUIDs are roughly sortable by creation time, but they also leak information about where and when they were created.
UUID v4 generates identifiers using random or pseudo-random numbers. The vast majority of the 128 bits are random, which makes collision extraordinarily unlikely (approximately 1 in 2^122). UUID v4 is the most widely used version in modern applications because it requires no coordination between systems.
A ULID (Universally Unique Lexicographically Sortable Identifier) is a newer alternative that encodes a 48-bit timestamp in the first 10 characters and 80 bits of randomness in the remaining 16 characters. ULIDs use Crockford's Base32 encoding, making them shorter than UUIDs (26 characters vs. 36) and naturally sortable by creation time. This makes ULIDs ideal for database primary keys where insertion order matters, such as in event logs or time-series data.
The probability of collision for both UUID v4 and ULID is vanishingly small. You would need to generate roughly 2.71 quintillion UUIDs to have a 50% chance of a single collision. For all practical purposes, they can be treated as globally unique.
Common use cases
- Database primary keys: UUIDs and ULIDs are commonly used as primary keys in distributed databases where auto-incrementing integers would cause conflicts across nodes. ULIDs are especially useful here because they are sortable, which helps B-tree index performance.
- API resource identifiers: Public-facing APIs use UUIDs to identify resources without exposing sequential internal IDs, which could leak information about the number of records in a system.
- Distributed system message IDs: In microservice architectures, each service can independently generate unique message or transaction IDs without coordinating with other services.
- Session and correlation tokens: Logging and tracing systems use UUIDs as correlation IDs to trace a request across multiple services.
FAQ
What is the difference between UUID v1 and UUID v4? UUID v1 includes a timestamp and the machine's MAC address, so the same machine will produce sequentially ordered IDs but reveals identifying information. UUID v4 is entirely random and reveals nothing about its origin, making it the preferred choice for most applications.
Can UUIDs collide? Theoretically yes, but the probability is so low it is not a practical concern. With UUID v4, you would need to generate about 103 trillion UUIDs before having a one-in-a-billion chance of a collision. Most systems treat them as unique without any collision check.
Should I use ULID or UUID? Use ULIDs when you need sortable identifiers (such as database primary keys where insertion order matters). Use UUID v4 when you need maximum compatibility, since virtually every programming language, database, and framework supports UUIDs natively.
Is my data safe?
Yes. This tool runs entirely in your browser. Your data is never sent to our servers. All UUID and ULID generation happens locally using your browser's built-in cryptographic random number generator.