Inspect the specification example
01ARZ3NDEKTSV4RRFFQ69G5FAV contains the time 2016-07-30T23:54:10.259Z. This is a decoded field, not proof that a record existed then.
Generate ULIDs made from a millisecond timestamp and cryptographic random bytes. The compact uppercase output is easy to copy into fixtures or database imports. An inspector also reads the timestamp encoded in an existing ULID.
Each ULID combines the current 48-bit millisecond timestamp with 80 random bits from Web Crypto. IDs generated in the same millisecond have random ordering.
The timestamp is encoded data, not proof of when an event occurred.
No storage or URL sharing. ULIDs are identifiers and should not be used as secret access tokens.
The implementation is original. The linked ULID specification is a reference; its source code is not bundled. IDs are not persisted or placed in the URL.
Choose a quantity from 1 to 500 and select Generate ULIDs.
Copy the newline-separated output or download a text file.
Paste a ULID into the inspector to see its timestamp in Unix milliseconds and UTC.
01ARZ3NDEKTSV4RRFFQ69G5FAV contains the time 2016-07-30T23:54:10.259Z. This is a decoded field, not proof that a record existed then.
Generate 100 IDs and download ulids.txt. Every ID in that batch shares one timestamp but has its own random suffix.
A ULID beginning with 8 or a later alphabet character exceeds the 128-bit range. The inspector rejects it rather than silently truncating it.
A ULID contains 128 bits: a 48-bit Unix millisecond timestamp followed by an 80-bit random component. It uses a 32-character alphabet that excludes I, L, O, and U. The ten-character time prefix has two spare leading bits, so the first character can only range from 0 through 7.
With ordinary ASCII lexical ordering, an earlier timestamp sorts before a later timestamp. This tool samples each suffix independently. It does not implement a monotonic counter, so IDs created at the same millisecond do not preserve generation order. A backward-moving system clock can also change the order.
Anyone can construct an ID with an arbitrary timestamp. The inspector checks the string’s alphabet, length, and range and interprets its time field. It does not check ownership, authenticity, database existence, or the accuracy of a producer’s clock.
The inspector accepts lowercase equivalents and normalizes them internally. Generated IDs use uppercase canonical presentation.
They expose time and are designed as identifiers. Use a password or secret-token scheme selected for your authentication system instead.
They share a single time value and independently random suffixes. Monotonic ULID generation is a separate mode that this tool does not offer.