ULID decoder & generator

26-character, lexicographically sortable identifiers. The first 10 characters are a 48-bit millisecond timestamp; the remaining 16 are 80 bits of entropy.

Crockford Base32
ulid-
decoded-
timestamp
-
unix millis
-
relative
-
timestamp part
-
randomness
-
about ULIDspec · ulid/spec

Layout (26 Crockford-Base32 chars):

10 chars - 48-bit millisecond timestamp.

16 chars - 80 bits of randomness.

Why ULID over UUID v4?

Lexicographic sort = chronological sort. Better DB-index locality. Case-insensitive, no hyphens.

- Alphabet: 0-9, A-HJKMNP-TV-Z (Crockford)

Related decoders