#053 · Herramienta para desarrolladores

Generador ULID

Genera ULID de 26 caracteres combinando una marca temporal en milisegundos con 80 bits aleatorios. El resultado usa el alfabeto Crockford Base32 y puede ordenarse lexicográficamente por tiempo de creación, una propiedad útil en logs, claves distribuidas y tablas donde interesa conservar orden temporal sin exponer un contador incremental.

Datos de entrada

Cantidad
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Indica cuántos ULID necesitas.
  2. Ejecuta el generador.
  3. Comprueba la marca temporal mostrada en las estadísticas.
  4. Copia o descarga los IDs.

Qué hace esta herramienta para desarrolladores

Un ULID se compone de 48 bits de timestamp y 80 bits aleatorios codificados con Crockford Base32. Tiene longitud fija de 26 caracteres.

Los 10 primeros caracteres codifican milisegundos desde Unix epoch; los 16 siguientes representan 80 bits generados con Web Crypto.

Los ULID exponen aproximadamente el momento de creación, por lo que no deben usarse cuando ocultar esa información sea un requisito.

Ejemplo

01ARZ3NDEKTSV4RRFFQ69G5FAV

Casos de uso

  • Claves ordenables por tiempo.
  • Eventos y logs distribuidos.
  • Datos semilla para bases de datos.

Consejos para obtener resultados fiables

  • No dependas del ULID como secreto.
  • Valida la longitud y el alfabeto al recibir IDs externos.
  • Ten en cuenta la precisión del reloj del cliente.
  • Para un orden monotónico estricto dentro del mismo milisegundo se necesita lógica adicional.

Detalles del procesamiento

La implementación genera ULID estándar en longitud y alfabeto. Para evitar IDs idénticos en el mismo lote se incrementa el timestamp lógico por elemento.

No implementa el modo ULID monotónico oficial ante múltiples generaciones concurrentes dentro del mismo milisegundo; para esa garantía usa una biblioteca específica en producción.

Preguntas frecuentes

¿Qué parte de un ULID indica la fecha de creación?

Los primeros 10 caracteres codifican el timestamp de 48 bits en milisegundos desde Unix epoch.

¿Un ULID se puede ordenar como texto por fecha?

Sí, con el formato estándar los ULID pueden ordenarse lexicográficamente para reflejar el orden temporal, siempre que los timestamps sean coherentes.

¿Cuántos caracteres tiene un ULID estándar?

Tiene 26 caracteres y utiliza el alfabeto Crockford Base32.

¿ULID oculta la hora en la que se creó un registro?

No. El timestamp forma parte del identificador y puede decodificarse, así que no debe usarse si esa información es sensible.

¿Cuál es la diferencia práctica entre ULID y UUID v4?

ULID contiene tiempo y es ordenable; UUID v4 es esencialmente aleatorio y no ofrece orden cronológico inherente.

Datos del resultado

DatoDescripción
ULID generadosValor calculado por Generador ULID.
LongitudValor calculado por Generador ULID.
TimestampValor calculado por Generador ULID.
AleatoriedadValor calculado por Generador ULID.