Skip to main content
ToolsHub

Snowflake ID Decoder

Paste a snowflake ID to extract timestamp and node bits, or reverse a date-time into the minimum snowflake ID for range filtering workflows.

Updated

Files never leave your browser

Decode snowflake ID

Decode Discord and Twitter/X snowflake IDs fully in your browser with BigInt math.

Reverse mode: date/time to minimum snowflake

Use this for Discord message-ID range filtering by generating the minimum ID for a timestamp.

Enter a snowflake ID or choose a date-time to start.

How to use Snowflake ID Decoder

The Snowflake ID Decoder converts Discord and Twitter/X snowflake IDs into human-readable metadata using pure BigInt bit math in your browser. It extracts creation timestamp, worker ID, process ID, and increment bits, then visualizes the 42/5/5/12 field split so you can verify each segment. The reverse mode converts a date-time into the minimum snowflake value for that moment, which is especially useful when building Discord message range filters or debugging ID cutovers.

  1. Pick Discord, Twitter/X, or custom epoch mode depending on the source system you are decoding.
  2. Paste the numeric snowflake ID (15–20 digits) and run Decode to extract timestamp and node fields.
  3. Review the ISO timestamp, relative-time label, and binary 42/5/5/12 segment breakdown for validation.
  4. Open reverse mode, choose a date-time, and generate the minimum snowflake for that moment.
  5. Copy the generated lower-bound ID into API filters or database range queries.

Your data never leaves your device — 100% private processing.

Snowflake bit layout explained

A snowflake ID is a 64-bit integer with a timestamp segment in the high bits and node sequence data in the low bits. In this tool, decoding follows the widely used 42/5/5/12 split: 42 bits for milliseconds since the platform epoch, 5 bits for worker ID, 5 bits for process ID, and 12 bits for per-process increment. Because the timestamp is left-shifted by 22 bits, decoding is a simple right shift plus epoch addition. This deterministic structure makes snowflakes sortable and efficient for distributed ID generation.

Epoch selection and reverse-mode range filtering

Epoch choice is critical: Discord starts at 2015-01-01 and Twitter/X starts at 2010-11-04, so the same numeric ID decodes to different wall-clock times if the wrong epoch is chosen. Reverse mode computes (timestamp − epoch) << 22 to produce the minimum snowflake for a given instant, with worker/process/increment bits all zeroed. That lower-bound ID is useful for paging APIs, log slices, and data exports where you need all records created at or after a specific UTC time without scanning full datasets.

Snowflake epoch defaults
PlatformEpoch (ms)UTC date
Discord14200704000002015-01-01T00:00:00Z
Twitter/X12888349746572010-11-04T01:42:54.657Z

Worked examples

Discord vector decode

Inputs: ID 175928847299117063 with Discord epoch

Result: 2016-04-30T11:18:25.796Z, worker 1, process 0, increment 7

Reverse lookup for API lower bound

Inputs: Date-time 2024-01-01T00:00 with Discord epoch

Result: Minimum snowflake generated for >= that moment queries

Glossary

Snowflake ID
A 64-bit integer ID format that embeds timestamp and node-sequence fields for distributed unique ID generation.
Epoch
Custom starting timestamp used as the zero point when encoding and decoding snowflake milliseconds.
Worker ID
Five-bit field identifying the generator worker or shard that produced the snowflake.
Increment
Twelve-bit counter incremented per generated ID within the same millisecond on a process.
Range filter
Query technique using minimum or maximum IDs to fetch records within a time window.

Related reading

Frequently Asked Questions

Free · No spam

Get weekly tool tips & updates

New tools, power-user tips, and productivity hacks — delivered free every Friday.

No spam, ever. Unsubscribe with one click.

Why use Snowflake ID Decoder?

  • Decode snowflake timestamps locally with no server upload or dependency package
  • Inspect worker, process, and increment fields for distributed-system troubleshooting
  • Switch between Discord, Twitter/X, or custom epoch values in one interface
  • Generate minimum snowflake IDs from date-time input for range-based querying

Common use cases

  • Audit when a Discord message was created from only its numeric ID
  • Confirm which shard or worker generated a Twitter/X-style snowflake in logs
  • Build lower-bound snowflake IDs for time-window exports and moderation tooling
  • Validate custom-epoch snowflake implementations in internal services

Related Developer Tools

Explore all Developer Tools.