Technology / Identifiers

Snowflake ID Generator

Generate Snowflake-style sortable numeric IDs from timestamp, worker, and sequence parts, then decode those parts from an existing ID.

Calculator

Enter your values and view the result instantly.

Change any field below to update the answer straight away.

Snowflake layout

41 timestamp bits, 10 worker bits, 12 sequence bits.

Create a lower-bound Snowflake ID from a timestamp

Inspect an existing Snowflake ID

Generated Snowflake IDs

Sortable numeric ID batch

Generate sortable Snowflake IDs, then copy or download the batch.

10

IDs generated

Twitter/X Snowflake

Layout

41

Timestamp bits

10

Node bits

12

Sequence bits

Generation order

Output order

2026-03-10T19:51:40.850Z UTC

Current seed timestamp

4095

Max sequence per millisecond

1023

Max node ID

Why Snowflake IDs matter Snowflake-style IDs stay sortable by time while still carrying worker and sequence metadata, which makes them useful for event streams, databases, queues, and distributed services.

Batch output

Snowflake ID 1

2031457984600608768

Snowflake ID 2

2031457984600608769

Snowflake ID 3

2031457984600608770

Snowflake ID 4

2031457984600608771

Snowflake ID 5

2031457984600608772

Snowflake ID 6

2031457984600608773

Snowflake ID 7

2031457984600608774

Snowflake ID 8

2031457984600608775

Snowflake ID 9

2031457984600608776

Snowflake ID 10

2031457984600608777

Lower-bound conversion

Create a lower-bound Snowflake ID from a timestamp

Pick a date and time to build a range-start Snowflake ID This helper creates the lowest possible Snowflake ID for the chosen timestamp under the active layout, which is useful for range queries, stream checkpoints, and developer tooling.

Validation

Inspect an existing Snowflake ID

Paste any Snowflake ID This validator checks the active layout, decodes the embedded timestamp, and exposes the worker or node parts so you can inspect how the identifier was assembled.

Snowflake ID Basics

Snowflake IDs, sortable 64-bit identifiers, timestamp decoding, and worker-sequence inspection

A Snowflake ID generator creates sortable numeric identifiers that combine a timestamp with worker and sequence data. That makes a Snowflake ID generator useful for databases, message streams, event pipelines, public APIs, and internal developer tooling where chronological ordering matters. People searching for a Snowflake generator, Twitter Snowflake generator, Discord snowflake decoder, or sortable ID generator usually need more than a random number. They need generation, decoding, lower-bound timestamp conversion, and enough visibility into the bit layout to understand what an existing Snowflake ID means.

What a Snowflake ID generator is for

Snowflake-style IDs are designed for distributed systems that need unique identifiers without a central database sequence. Instead of using a purely random value, a Snowflake generator combines time with machine-specific and per-millisecond sequence data. That means the generated IDs can remain unique while still sorting in chronological order.

That behaviour is why Snowflake IDs are used in logs, event streams, feeds, queues, developer APIs, and application storage layers. A best-in-class Snowflake ID generator therefore needs to do more than output numbers. It should let users generate practical batches, inspect timestamp and worker parts, and decode an existing Snowflake ID back into the information it contains.

How the Snowflake bit layout works

A Snowflake ID is built by allocating part of the binary value to time, part to the worker or node identifier, and part to the per-millisecond sequence. The exact bit split depends on the implementation. Twitter-style layouts commonly use 41 timestamp bits, 10 worker bits, and 12 sequence bits, while Discord-style snowflakes use a different epoch and split the middle bits into worker and process identifiers.

That means a professional Snowflake ID generator should make the layout visible instead of treating it as a black box. If you know the active epoch and bit allocation, you can recover the original timestamp, worker or process data, and sequence number from the decimal ID string.

Snowflake ID = (timestamp offset << worker+sequence bits) + (worker bits << sequence bits) + sequence

A Snowflake-style ID is formed by shifting the timestamp offset into the high bits, then adding worker and sequence values in the lower bits.

Timestamp offset = floor((timestamp - custom epoch) / time unit)

Snowflake systems store elapsed time since a chosen custom epoch, not the raw Unix timestamp directly.

Why epoch, worker, and sequence settings matter

Epoch choice changes the time range and compatibility of the IDs. Worker and process settings define how many parallel generators can exist without collision. Sequence bits define how many IDs can be generated safely inside the same millisecond before the timestamp must advance. These are practical engineering constraints, not cosmetic options.

That is why a strong Snowflake ID generator should support more than one profile. In practice, developers often need a Twitter-style Snowflake generator, a Discord snowflake decoder, or a custom layout for an internal service. This page is designed to cover those real workflows rather than offering only a bare numeric output.

How this Snowflake ID generator helps

This page supports the workflows people most often need. First, it generates batches of Snowflake-style IDs in generation order or sorted output, with seed timestamps and sequence control. Second, it can create a lower-bound Snowflake ID from a chosen timestamp, which is useful for range queries, storage filters, and event checkpoints. Third, it validates an existing Snowflake ID and decodes the timestamp, worker or node, process, and sequence fields according to the active profile.

That makes it a practical Snowflake generator, Snowflake decoder, Discord snowflake tool, and sortable ID inspection utility in one place. It also helps compare the meaning of different bit layouts without forcing every system into the same identifier profile.

Further reading

Related

More from nearby categories

These related calculators come from the same leaf category, nearby sibling categories, or the same top-level topic.

KSUID Generator

Generate KSUIDs in batch with sortable base62 output, custom timestamp seeding, and built-in validation with timestamp decoding.

ULID Generator

Generate ULIDs in batch with sortable output, monotonic mode, custom timestamp seeding, and built-in validation.

TypeID Generator

Generate TypeIDs with custom prefixes, UUID conversion, and built-in validation for sortable type-safe identifiers.

Random ID Generator

Generate short random IDs, invite codes, coupon-style codes, and opaque tokens from custom alphabets, prefixes, separators, and ambiguity filters.

Privacy choices

Help us improve the site.

If you allow analytics, we may use Google Analytics and Microsoft Clarity to better understand how the site is used. Analytics remain off unless you accept.