Snowflake ID Decoder
Paste a snowflake ID to read the timestamp baked into it, plus the worker id, process id and sequence number. Pick Discord, Twitter or Instagram, or set a custom epoch for your own service.
How to decode a snowflake ID
- Paste the snowflake ID into the field.
- Choose the platform (Discord, Twitter or Instagram) or enter a custom epoch.
- Read the decoded creation time, worker id, process id and sequence, then copy what you need.
Examples
Decode a Discord snowflake
175928847299117063 (platform: Discord)
2016-04-30T11:18:25.796Z | worker 1, process 0, sequence 7
Frequently asked questions
What is a snowflake ID?
A snowflake is a 64-bit ID used by Discord, Twitter/X and Instagram. The top bits hold a millisecond timestamp offset from a fixed platform epoch, and the lower bits hold a worker id, process id and a per-millisecond sequence counter. That makes IDs sortable by creation time without a separate timestamp column.
Why do I need to pick a platform or epoch?
The timestamp stored in a snowflake is counted from a service-specific epoch, not the Unix epoch. Discord starts at 2015-01-01, Twitter at 2010-11-04 and Instagram at 2011-08-24. Choosing the right platform applies the right offset so the decoded time is correct. Use a custom epoch for your own snowflake implementation.
Is my snowflake ID sent to a server?
No. Decoding happens entirely in your browser using BigInt math. The ID never leaves your device, so it is safe for IDs that reference private accounts, channels or messages.
How accurate is the decoded timestamp?
The timestamp is precise to the millisecond and reflects when the ID was generated, which is effectively when the account, message or post was created. It is read directly from the ID bits, so there is no rounding.
What do worker id, process id and sequence mean?
They identify which machine generated the ID and the order of IDs created within the same millisecond. Worker (or datacenter) id and process (or machine) id are each 5 bits (0-31), and the sequence is 12 bits (0-4095). They are mostly useful for debugging ID generation, not for end users.
Why is BigInt used instead of a normal number?
A snowflake is up to 64 bits, but JavaScript numbers lose precision above 2^53. Parsing the ID as a BigInt keeps every bit intact so the timestamp and the worker, process and sequence fields are extracted exactly.
Related tools
Unix Timestamp Converter
Convert a Unix epoch timestamp to a human date, or a date to a timestamp. Auto-detects seconds and milliseconds. Runs in your browser.
UUID Validator
Validate a UUID and detect its version and variant. Paste a UUID or GUID, see if the format is valid, and read its version, variant and nil status.
JWT Decoder
Decode a JSON Web Token to read its header and payload claims. Shows exp, iat and nbf as dates. Runs in your browser. No signature check.
.env to JSON
Convert a .env file to JSON, or JSON back to .env. Parses KEY=value lines, comments, quotes and export. Runs entirely in your browser.
Aspect Ratio Calculator
Calculate aspect ratios fast. Enter a ratio like 16:9 and one dimension to get the other, or enter width and height to simplify the ratio.
Base58 Encoder
Encode and decode Base58 online with the Bitcoin alphabet. Convert text to Base58 or back, UTF-8 safe, no confusing 0 O I l. Runs in your browser.