Snowflake ID, ObjectID & UUID Timestamp Decoder
Paste an ID and the format is detected automatically. You get the creation time (UTC, JST, ISO 8601, Unix ms) and its parts such as worker and sequence. To create IDs instead, use the UUID Generator or the ULID & NanoID Generator; for plain time conversion, see the Unix Timestamp Converter.
🔒 Runs in your browser · Your data is never sent to a server
Results
Enter an ID and the decoded result will appear here.
How to use
- Paste your IDs into "IDs (one per line)", one per line.
- For numeric IDs, pick Twitter / X or Discord in "Epoch for numeric IDs". For another service, choose "Custom" and enter its epoch.
- The detected format, creation time and parts are shown. Use "Copy results (TSV)" to take the whole list.
Notes
- A numeric ID is turned into a time by adding a service-specific epoch (start time). Picking the wrong one shifts the result by years, so choose the one that matches where the ID came from.
- Snowflake decoding assumes the common layout: 41 bits of time, 10 bits of machine ID and 12 bits of sequence. IDs with a different custom layout cannot be read correctly.
- ObjectID time has one-second resolution. UUID v1 and v6 use 100-nanosecond ticks, which are shown rounded down to milliseconds.
- Random or hash-based UUIDs (v4, v5) contain no time. ULIDs, UUID v7 and Snowflake IDs expose their creation time, so they are a poor fit when that must stay private.
Glossary
Snowflake ID
A 64-bit, roughly sequential ID created at Twitter (X). Time, machine ID and sequence are packed into bits, so larger numbers are generally newer. Discord and Instagram use similar formats.
Epoch
The start time the ID counts its timestamp from. Twitter uses 2010-11-04 and Discord uses 2015-01-01.
ObjectID
MongoDB's 12-byte (24 hex digits) ID: a 4-byte timestamp in seconds, 5 random bytes and a 3-byte counter.
UUID v7
A UUID whose first 48 bits are a Unix millisecond timestamp. It sorts by creation time and works well as a database primary key.
FAQ
How do Twitter and Discord Snowflake IDs differ?
The bit layout is the same (41 bits of time, 10 bits of machine ID, 12 bits of sequence), but the epoch differs: Twitter counts from 1288834974657 (2010-11-04) and Discord from 1420070400000 (2015-01-01). Choosing the wrong epoch shifts the time by years.
Are 19-digit numeric IDs handled accurately?
Yes. The tool calculates with 64-bit integers (BigInt), so IDs above 2^53, which plain JavaScript numbers would round, are still read down to the lowest bit.
Which UUID versions contain a creation time?
Versions 1, 6 and 7. v1 and v6 store 100-nanosecond ticks since 1582-10-15, and v7 stores Unix milliseconds. v4 is random and v3/v5 are name-based hashes, so they carry no time.
Can the ObjectID time be read to the millisecond?
No. The ObjectID timestamp is the first 4 bytes in whole seconds. The next 5 bytes are a per-process random value and the last 3 bytes are a counter.
Does it work with custom Snowflake-style IDs?
If your ID uses the common layout (time in the upper 41 bits, machine and sequence in the lower 22) and you know the epoch, choose Custom and enter it. Layouts with different bit widths, such as Sonyflake, are not supported.
Share this page
