ULID Generator

Help

Overview

The ULID generator is an online tool for generating Universally Unique Lexicographically Sortable Identifiers (ULIDs). As an alternative to UUID, it generates unique identifiers that are sortable by time in bulk.

How to Use

  1. Specify the number of ULIDs to generate.
  2. Set the base time in Base datetime - Timestamp (default is the current time).
  3. Enable Increase monotonically if you want values to increase within the same millisecond.
  4. Click the "Generate" button.

Specifications & Glossary

  • ULID specification: 128 bits = 48-bit timestamp (millisecond precision) + 80-bit random value. Encoded as a 26-character string using Crockford's Base32 (e.g., 01ARZ3NDEKTSV4RRFFQ69G5FAV).
  • Lexicographic sorting: The first 10 characters of a ULID represent the time, so lexicographic (string comparison) sorting is equivalent to chronological sorting. This improves index locality in databases.
  • Increase monotonically feature: When generating multiple ULIDs within the same millisecond, the random portion is incremented to guarantee monotonically increasing values. Use when strict ordering of events is required.
  • Comparison with UUID: UUID v4 has no chronological meaning in lexicographic order, but ULID's lexicographic order equals chronological order. Especially effective for clustered indexes in RDBMSes.
  • Crockford's Base32: Uses a 32-character set excluding I, L, O, and U, eliminating visually confusing characters for a more human-readable format.

Use Cases

  • Generating chronologically ordered log IDs and event IDs.
  • Using as primary keys in RDBMSes to improve index efficiency.
  • Using as unique identifiers for filenames and temporary tokens.

ULID Generator

Conditions

Results

1