typeid
last updated: Oct 20, 2023
https://github.com/jetpack-io/typeid
TypeIDs are a modern, type-safe extension of UUIDv7.
TypeIDs are canonically encoded as lowercase strings consisting of three parts:
- A type prefix
- An underscore '_' separator
- A 128-bit UUIDv7 encoded as a 26-character string in base32 (usingΒ Crockford's alphabetΒ in lowercase).
Here's an example of a TypeID of typeΒ
user
:
user_2x4y6z8a0b1c2d3e4f5g6h7j8k
ββββ ββββββββββββββββββββββββββ
type uuid suffix (base32)
Interesting idea to include the type as part of the UUID canonically. Has very similar properties to ULIDs or UUIDv7, but the type prefix is the main selling point. (Also that they specify encoding with base32, unlike the usual representation of UUIDs)
Backlinks: