DevKits

KSUID Generator — K-Sortable Base62 Unique IDs

Generate KSUID strings online — 27-character Base62, 32-bit UTC timestamp + 128-bit randomness. Time-sortable, human-typeable, no delimiters. Designed by Segment for high-volume event streams. 100% local.

Last updated:

Comments
  • 3GqfAqGfNehQmScnDvUS5v0MYe8
  • 3GqfApFXJO23eq20fVY8sm20QCh
  • 3GqfAlBiQlBFzw2HKQSGHudP9aq
  • 3GqfAo6JfNXZUqPskDiaqQg0MUQ
  • 3GqfApSrZzqAFEElfY0qMwEDcIN

Frequently Asked Questions

What is a KSUID?

KSUID (K-Sortable Unique IDentifier) was created by Segment for high-volume event ingestion. Each KSUID is 20 bytes: 4 bytes of Unix seconds since the KSUID epoch (2014-05-13) followed by 16 bytes of randomness, encoded as 27 Base62 characters. Sorting lexicographically also sorts by creation time.

How is KSUID different from ULID?

Both are time-sortable IDs. ULID has millisecond timestamp precision (48 bits) and 80 bits of randomness; KSUID has second precision (32 bits) but 128 bits of randomness. ULID uses Crockford Base32; KSUID uses Base62. For most workloads either is fine — pick based on which ecosystem your libraries already support.

When will KSUIDs run out?

The 32-bit second counter (from 2014-05-13) exhausts on 2150-06-19. Roughly 136 years is normally described as 'plenty of time', though rewriting your ID scheme in 2140 is still a task someone will inherit.

Related Tools