Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs

TypeIDs are a modern and type-safe extension of UUIDv7, inspired by Stripe’s APIs. They consist of a type prefix, an underscore separator, and a 128-bit UUIDv7 encoded as a lowercase base32 string. TypeIDs have several benefits, including type-safety, compatibility with UUIDs, K-sortability, and thoughtful encoding that is URL safe and more compact than traditional hex encoding. The implementation of TypeIDs is currently available in Go and SQL, with other languages coming soon. A command-line tool is also provided for generating, decoding, and encoding TypeIDs. The upcoming UUIDv7 standard serves as the basis for TypeIDs, which are a preferable alternative to non-type-safe options like xid, ulid, and ksuid.


To top