🆔 YAID

Yet Another ID

Features

🔸 Only 8 bytes long
🔸 Includes a centisecond timestamp
🔸 Integrated int8 shard id
🔸 Rendered as 13 character Base32 strings
🔸 SDKs for python, javascript and go

Comparison

A mix of ULID and UUIDv7.

Specifications

Version 0.1

Layout

Bits Bytes Content
0 - 39 5 Timestamp
40 - 55 2 Differentiator
56 - 63 1 Meta

Timestamp

Big-endian 40 bit integer. Represents the time passed since January 1, 1970 12:00:00 AM UTC in hundredths of a second.

The timestamp will roll over on June 4, 2318 6:57:57.760 AM UTC.

Differentiator

16 bits that are used to make the id unique within a given timestamp. A random value or a counter could for example be used.

Meta

8 bit value that contains information about the id itself. A database shard number for example.