Snowflake Identity Stack

Example SF128-GS identifier: 53 00 01 00 03 BD A9 2D 41 A7 3C C9 F0 A1 42 7F

A fixed-width, time-ordered identifier — with routing, node identity, and integrity baked into the bits.

Every byte above means something: an 8-bit tag, a 40-bit timestamp, a routing prefix, a node ID, a checksum. Hover any byte — or any segment in the ruler below — to see what it holds.

Hover a byte to see what it encodes.
Overview

What a Snowflake ID is

Snowflake is a family of fixed-width binary identifiers built for distributed systems: chronologically sortable, locally unique without coordination, and small enough to use as a primary key. Six variants trade size for capability — from a 64-bit embedded ID to a 128-bit form that carries its own geographic routing hint and node signature.

Variants

Pick a width

Bar length is proportional to bit width. Select a row for its field layout, bit math, and a worked example.

Encoding

Text encodings

Raw Snowflakes are binary. For logs, URLs, and human transcription, encode them as Base32, Base58, or a radix-aligned custom form.

EncodingAlphabetExampleBest for
Base32 (Crockford) 0–9, A–Z (excl. I L O U) SF1-9Q8YY-ABCD Human transcription — no ambiguous characters
Base58 (BTC-style) 1–9 A–H J–N P–Z a–k m–z 3bDA92D4… Compact URLs and short IDs
Radix32 (custom) Extended symbol set 9Q8YY-2025-AB Aligns cleanly to 5-bit field boundaries

Base32 encodes 5-bit chunks, so encoded length is ⌈bits ÷ 5⌉ characters — a full SF128 payload runs 26 Base32 characters before punctuation.

Worked example

Decoding an SF128-GS identifier

Same byte-to-field coloring as the hero. This is a real, bit-accurate 128-bit value:

from snowflake import SF128
sf = SF128.new(timestamp, geohash, node_id, seq)
encoded = sf.encode()
Generated

The same 128 bits, four symbologies

These aren’t mockups — they’re real output from this project’s own encoder, each one independently scannable with commodity readers. Same payload as the worked example above: 5300010003bda92d41a73cc9f0a1427f.

Composite badge: a horizontal PDF417 band on top, a QR code with a DataMatrix nested in its center below it, and an EAN128 barcode across the bottom, all edge-aligned
All four stacked into one badge — a horizontal PDF417 band on top, the QR (with the DataMatrix nested in its center, sized to stay under the ~13% of QR area its error correction can recover from) in the middle, and EAN128 (the payload’s decimal value, not hex, for density) across the bottom. The top and bottom bands share the same width, so their edges align — yet all four still decode independently.
SF128-LOG

Built to compress

SF128-LOG trades the geo/HMAC fields for a lower-entropy layout — host delta, service ID, relative timestamp offset, counter, parity — tuned for log ingest where every byte is repeated across millions of lines.

SourceSizegzipParquetMsgPack
ASCII log (ISO ts + hostname) 64 B28 B22 B20 B
Binary SF128-LOG 16 B12 B10 B9 B
Recommendation: use SF128-LOG at ingest time to keep write volume down, then convert to MsgPack for long-term storage — it exploits structure and dictionary reuse that raw gzip can't.