Snowflake ID Decoder

Decode Twitter/X-style Snowflake IDs with a configurable epoch, worker or process bit width, and sequence bit width. Inspect the embedded timestamp, worker/process value, and sequence counter without sending data anywhere except the optional JSON API.

Decoded timestamp
—
Enter an ID to decode its millisecond timestamp.
Worker / Process
—
Sequence
—
Timestamp offset
—
{}

API: /snowflake-id/api?id=175928847299117063&epoch=1288834974657&workerBits=10&sequenceBits=12. The worker field is also shown as process because many Snowflake variants name this middle component differently.

About this tool

Snowflake ID Decoder helps developers, data engineers, and moderators decode Twitter/X-style and Discord-style Snowflake IDs into embedded timestamps, worker or process identifiers, and sequence counters. Use it when logs, database records, webhook payloads, or moderation evidence contain large integer IDs that need a timestamp explanation with custom epoch and bit layout controls.

Use cases

  • Paste a Snowflake ID from logs or a database row to recover the UTC creation timestamp for debugging, audits, or incident timelines.
  • Switch the epoch from Twitter defaults to Discord defaults or a custom system epoch when comparing identifiers from different services.
  • Adjust worker/process and sequence bit widths to inspect Snowflake variants used by internal services, queues, or distributed ID generators.
  • Copy structured JSON output into tickets, runbooks, or moderation notes that need repeatable timestamp evidence.

FAQ

What does the Snowflake ID Decoder show?

It decodes the timestamp offset, UTC timestamp, worker or process value, sequence value, and bit layout from a Snowflake-style integer ID.

Can I use a custom Snowflake epoch?

Yes. Enter an epoch in Unix milliseconds or an ISO date string, then set the worker/process and sequence bit widths for the ID format you are decoding.

Are worker bits and process bits the same here?

The tool labels the middle Snowflake component as worker/process because different systems name those bits differently. The numeric value is decoded from the configurable worker bit width.