Skip to content
100% local

Snowflake ID decoder

Break a 64-bit Snowflake ID into its timestamp, machine and sequence fields.

Input
Output

Snowflake ID decoder

Paste one or more Snowflake IDs — the 64-bit identifiers used by Twitter, Discord, Instagram, Mastodon and countless internal systems modeled on them — and this tool pulls each one apart into its timestamp, machine identifiers and sequence number. Every service adds a Snowflake ID to a piece of data (a tweet, a Discord message, a database row) so that IDs sort chronologically and can be generated by many machines at once without a coordination step.

Choose the epoch that matches your source under Epoch / format: Twitter and Discord share the same bit layout but different starting dates, Instagram splits its bits differently (a wider shard field, no separate worker ID), and Mastodon skips machine fields entirely in favor of a plain millisecond timestamp plus sequence. Pick Custom and supply your own epoch in Unix milliseconds for any other Snowflake-style scheme. Show local time adds your device's own time zone next to the UTC timestamp, and Show binary breakdown prints the raw bit groups so you can see exactly which bits carry which field.

Switch Direction to Date → boundary ID to go the other way: type a date (plain 2026-08-11 or a full ISO 8601 timestamp) and get back the smallest and largest Snowflake ID that could exist for that millisecond — the pair most APIs expect as the "before"/"after" cursor when paginating by ID instead of by page number. Every line is processed independently, so you can decode a whole log of IDs, or generate boundaries for a whole list of dates, in one pass. The tool validates that each value fits in a 64-bit Snowflake and reports invalid or out-of-range lines instead of silently skipping them.

Everything runs locally in your browser — pasted IDs, dates and any custom epoch never leave your device, so it's safe to use with production data. Copy the result, download it as a .txt file, or send it straight to another tool's input to continue working on it.

FAQ

What is a Snowflake ID?
A 64-bit number that packs a millisecond timestamp, one or two machine identifiers and a per-millisecond sequence counter into a single sortable integer. Twitter introduced the scheme; Discord, Instagram, Mastodon and many internal systems use variants of it.
Why do Twitter and Discord IDs need different settings?
They share the same bit layout but count milliseconds from different starting points — Twitter's epoch begins in November 2010, Discord's in January 2015. Picking the wrong one gives a timestamp that's off by years.
What's the difference between decoding and the boundary-ID direction?
Decoding reads an existing ID back into its fields. The boundary direction does the opposite: given a date, it builds the smallest and largest ID that timestamp could have produced, which many APIs use as pagination cursors.
Why does Instagram show a shard but no separate worker field?
Instagram's format allocates more bits to a single shard identifier instead of splitting a datacenter ID and a worker ID the way Twitter and Discord do — a deliberate design difference, not a decoding gap.
Is my data uploaded anywhere?
No. Every ID, date and custom epoch you enter is processed entirely in your browser and never sent to a server.