Generador de ULID

Genera ULIDs — identificadores de 26 caracteres en Base32 de Crockford que embeben una marca temporal en milisegundos en los primeros 10 caracteres y 80 bits de aleatoriedad en los últimos 16. Ordenables por tiempo, seguras para URL, opción monotónica para que los IDs consecutivos queden estrictamente ordenados.

individual
26 caracteres · Base32 de Crockford · timestamp ms

Cómo leer una ULID

Una ULID son dos partes pegadas. Los primeros 10 caracteres codifican el timestamp en milisegundos en Base32 de Crockford: ordena las cadenas lexicográficamente y las estarás ordenando por tiempo. Los últimos 16 caracteres son 80 bits de aleatoriedad de crypto.getRandomValues.

El Base32 de Crockford descarta las letras I, L, O y U para que la cadena sea inequívoca al copiarla a mano. La decodificación es insensible a mayúsculas; la salida canónica está en mayúsculas.

Modo monotónico

Cuando dos ULIDs caen en el mismo milisegundo, la segunda normalmente se ordena por debajo de la primera si sus bits aleatorios resultan menores. La opción Monotónico incrementa la sección aleatoria dentro del mismo ms para que los IDs consecutivos siempre se ordenen estrictamente en el orden de generación. Comportamiento estándar de la especificación ULID.