UUID v1, v7 & ULID Timestamp Converter. Extract Creation Time
UUID v1, UUID v7, and ULID all embed a millisecond timestamp in their first bits. Paste any of the three and this tool pulls out the exact creation instant, no database, no API, just bit arithmetic.
UUID v1, v7 & ULID → timestamps.
Extract the embedded creation time from time-ordered IDs (and mint new ones from a date. No lookups: the time is right inside the bits.
Where the timestamp lives in each format
-
UUID v1, a 60-bit timestamp of 100-nanosecond intervals since
the Gregorian reform (1582-10-15), split across the first three groups:
time_low(8 hex),time_mid(4), and the low 12 bits oftime_hi_and_version. The version nibble is1. -
UUID v7, a 48-bit Unix timestamp in milliseconds occupying the
first 12 hex characters; the version nibble is
7. Same epoch asDate.now(), which makes it the modern default for new systems. - ULID. 48 bits of millisecond time in the first 10 Crockford base-32 characters, followed by 80 bits of randomness. ULIDs sort correctly by creation time and are case-insensitive.
Worked examples
-
017F…(a ULID), the first 10 chars decode to milliseconds; this converter shows the UTC instant and the equivalent Unix seconds. -
1b0a2f…-…-7…(a UUID v7), the leading1b0a2fhex group is the high half of the ms timestamp. -
550e8400-e29b-41d4-a716-446655440000, a classic v1: version nibble1means the first three groups are Gregorian time. Decodes to Oct 15, 1997 (try it in the converter).
In your own code
- ULID time: parse the first 10 chars as base-32.
BigIntrecommended in JS. - UUID v7 time:
BigInt('0x' + id.replace(/-/g, '').slice(0, 12))→ milliseconds. - UUID v1 time:
(time_hi << 48 | time_mid << 32 | time_low) - 122192928000000000n, then divide by 10,000 for ms.
Gotchas
- Gregorian vs Unix, v1 counts from 1582, so you must subtract the 122,192,928,000,000,000-tick offset before dividing to milliseconds. This converter does that step for you.
-
v4 has no time, random UUIDs (version
4) carry no timestamp at all. The tool only accepts v1 and v7, and says so. - ULID vs UUID, both are 128 bits but ULIDs are base-32 (Crockford) text, not hex. If you paste a ULID into a UUID parser it fails; the converter auto-detects by shape.
Related tools
The extracted millisecond timestamp is the same number the milliseconds converter reads, and the date to epoch converter can produce it from a wall-clock date. Time-ordered IDs also pair well with the snowflake ID converter, same idea, 41-bit time field.
First published · Last reviewed · Maintained and developed by the Real Epoch Converter team · [email protected] · Contact · Methodology
More timestamp tools
- Epoch time converter — the free online epoch converter
- Unix timestamp to date converter
- Date to epoch converter
- Milliseconds to epoch converter
- Snowflake ID converter
- LDAP / Active Directory converter
- GPS time converter
- NTP timestamp converter
- .NET ticks converter
- Mac HFS+ timestamp converter
- Excel / OADate converter
- UUID v1 / v7 & ULID converter
- Chrome / WebKit converter
- Cocoa Core Data converter
- Timezone converter
- Day of the year converter
- ISO week number converter
- Unix hex converter
- Year 2038 countdown
- Common Unix timestamps
Need the plain Unix timestamp instead of this format? The epoch time converter on the home page converts dates to Unix timestamps and back — seconds, milliseconds, or microseconds — with batch conversion, and the Unix timestamp to date converter handles one value at a time.
Prefer reading? The guides explain Unix time, timestamp formats, and common bugs in depth, and the methodology page documents exactly how this site handles negative timestamps, fractional seconds, leap seconds, and daylight-saving transitions.