SNOWFLAKE

Distributed Unique ID Generator

Step 1 of 10

One generator, assembled in order

Each request moves through timestamp → identity → sequence → one signed 64-bit integer.

64-bit packing mapGenerate an ID to light the fields
0 reserved sign bit41-bit timestamp10-bit identity12-bit sequence
timestampdatacenter + workerper-ms sequence
1. Timestamp41 BITS
current ms—
epoch delta—
custom epoch2024-01-01
2. Node identity10 BITS
datacenter07 / 31
worker12 / 31
packed bits00111 01100
3. Sequence12 BITS
counter0
capacity0 / 4096
next millisecondresets to 0
4. Assembled ID64 BITS
decimal—
statuswaiting for request
Show decoded fields
timestamp: —datacenter: 07worker: 12sequence: 0
Identity allocationSTARTUP
registry leaseDC-07 / W-12
runtime locknone
Unique node bits are assigned before requests arrive.
Clock guardSAFETY
last accepted—
rollback policyreject / wait
Never reuse a prior millisecond on this worker.
Ready — Generate an ID first to enable same-millisecond, capacity, and rollback scenarios.