ULID Timestamp Decoder

Extract UTC and local timestamps from ULIDs, with millisecond precision and validation of the Crockford Base32 alphabet.

Starts with an editable example. Replace the dates and rules with your own.

Your calculation

Inputs stay on this page unless you choose to save them.

Ready when you are

Choose your dates.

Select your counting rules and calculate.

How to use this calculator

Paste one 26-character ULID per line. Lowercase is accepted; overflow and excluded alphabet characters remain error rows.

The first ten characters encode the 48-bit Unix-millisecond field; the remaining sixteen encode randomness. Calendar display supports years 1970-9999 and does not infer creation authenticity.

A worked example

An all-zero ULID contains Unix millisecond zero: January 1, 1970 at 00:00 UTC.

Does the randomness field give a more precise timestamp?

No. It is not a sub-millisecond time field, and this decoder does not use it to infer ordering.

Which calendar and years are supported?

Each result states its calendar, time scale, precision and supported range. Batch converters accept up to 100 nonempty input lines and retain invalid rows. Copy, CSV and print include the calculation rules. Calendar downloads appear when a result contains dated events. Calculations run in your browser; no reminders or jobs are scheduled.

What happens to my dates?

Calculations run on your device. Saving a calculation is optional and keeps it in this browser. A setup link contains the dates and settings you entered; anyone with the link can read them. Use one tab per saved calculator. Clear saved data from Privacy & settings.