Generador de ULID

Genera ULIDs (Identificadores Lexicográficamente Ordenables Universalmente Únicos). 26 caracteres, seguro para URLs, ordenables por tiempo y compatibles con UUIDs.

Generar ULID

Crear identificadores únicos ordenables

ULIDs Generados

Haz clic en "Generar ULIDs" para crear identificadores únicos

Preguntas Frecuentes

What is a ULID?

Un identificador de 26 caracteres que incluye una marca de tiempo de 48 bits en milisegundos y 80 bits de aleatoriedad, por lo que los IDs se ordenan por hora de creación.

¿Por qué elegir ULID en lugar de UUID?

Los ULIDs se ordenan lexicográficamente por tiempo, son más cortos y usan base32 Crockford seguro para URLs, sin guiones que gestionar.

Can I trust the ordering?

Entre milisegundos diferentes, sí. Dentro del mismo milisegundo, el orden entre dos ULIDs no está garantizado.

¿Funcionan los ULIDs donde se usan UUIDs?

Funcionan en la mayoría de las columnas de texto y las APIs, y la conversión entre ULID y UUID es sencilla cuando ambos formatos deben coexistir.

¿Cuánto mide un ULID y qué caracteres utiliza?

Cada ULID tiene exactamente 26 caracteres utilizando Crockford Base32, que incluye los dígitos 0-9 y las letras A-Z excepto I, L, O y U. Esta longitud fija mantiene predecibles los tamaños de las columnas de la base de datos y evita caracteres ambiguos cuando los IDs se leen en voz alta o se escriben manualmente.

¿Son los ULID seguros para usar en URLs y nombres de archivos?

Sí. Los ULID contienen solo letras mayúsculas y dígitos, sin guiones, barras ni símbolos, por lo que pasan a través de URLs, segmentos de rutas y nombres de archivos sin codificación porcentual. La longitud de 26 caracteres también encaja cómodamente en patrones de rutas y líneas de registro.

¿Cuántos ULID se pueden generar en el mismo milisegundo?

La sección aleatoria de 80 bits proporciona aproximadamente 2^80 valores por milisegundo, lo que hace que las colisiones sean prácticamente imposibles. Si tu aplicación crea varios IDs dentro del mismo milisegundo, usa el modo monótono, que incrementa la parte aleatoria en uno para que se conserve el orden de clasificación.

¿Cómo leo la marca de tiempo de un ULID?

Los primeros 10 caracteres codifican la marca de tiempo Unix en milisegundos, mientras que los 16 caracteres restantes son aleatorios. Decodifica esos 10 caracteres de Crockford Base32 en un número y luego conviértelo con cualquier herramienta de marca de tiempo Unix para obtener la hora exacta de creación.

Estructura del ULID

Cada ULID consta de dos partes: marca de tiempo y aleatoriedad

MARCA DE TIEMPO (10 caracteres) ALEATORIEDAD (16 caracteres)

01ARZ3NDEKTSV4RRFFQ69G5FAV

Ejemplo: Este ULID fue generado en un milisegundo específico e incluye 80 bits de aleatoriedad

Marca de Tiempo (48 bits)

Milisegundos desde la época Unix (1970-01-01). Proporciona ordenamiento por tiempo y dura hasta el año 10889.

Aleatoriedad (80 bits)

Valor aleatorio criptográficamente seguro. Proporciona 1.21 trillones de IDs únicos por milisegundo.

Especificaciones Técnicas

ULID está diseñado para ser ordenable, seguro para URLs y compatible con UUIDs

Características

  • Aleatoriedad criptográficamente segura
  • Generación solo del lado del cliente
  • Lexicográficamente ordenable
  • Sin caracteres especiales (seguro para URLs)

Especificaciones

  • 26 caracteres (128 bits)
  • Codificación Base32 de Crockford
  • Marca de tiempo de 48 bits + aleatoriedad de 80 bits
  • 1.21M IDs por milisegundo

Referencias y Recursos