Generate Universally Unique Lexicographically Sortable Identifiers with high performance
ULID Decoder
Decode any ULID to reveal its embedded timestamp and random bits. Instantly see the exact creation time (UTC & local), Unix timestamp in milliseconds, and the 80-bit randomness component.
Decode ULID
Extract timestamp and randomness from ULID
Embedded Metadata Decoder
Metadata extraction is OFF
Enable to extract structured user-defined fields from the 80-bit randomness segment of the ULID.
ULID Visual Anatomy
Represents 48 bits of Unix milliseconds. Encoded using Crockford's Base32. Gives ULIDs their natural chronological ordering.
Represents 80 bits of cryptographically secure pseudorandomness (or monotonic progression). Prevents collisions.
Validation Results
ULID Structure Explained
- Timestamp (10 chars): Milliseconds since Unix epoch — sortable and unique per millisecond
- Randomness (16 chars): 80 bits of cryptographic randomness from
crypto.getRandomValues() - Encoding: Crockford's Base32 — case-insensitive, excludes I, L, O, U to avoid ambiguity
- Total: 26 characters, 128 bits — same entropy as UUID v4
Why Decode a ULID?
- Audit when a database record was created from just its primary key
- Debug distributed systems by correlating IDs across services
- Verify monotonic ordering in high-throughput scenarios
- Extract creation timestamps without a separate
created_atcolumn