Identificadores

Generador de ULIDy decodificador

Crea un lote a petición o revisa valores existentes por línea. La decodificación puede actualizarse automáticamente.

Generador de ULID

Entrada

Vacío: lee el instante actual una sola vez para el lote. También puedes introducir un entero de 0 a 281474976710655. No se adivinan segundos ni fechas ISO.

El procesamiento se realiza en este navegador. No se envían las entradas a un servidor.

Resultado

Ajustes

Activado: primer sufijo aleatorio de 80 bits y luego incrementos de uno. Desactivado: cada sufijo se obtiene de forma independiente. No se garantiza el orden entre clics.

De 1 a 1.000 ID; hasta 1.000 líneas físicas y 100.000 unidades UTF-16 al decodificar. La exportación incluye todo.

Elige los ajustes y ejecuta.

Cuando el orden de los ID de un registro resulta extraño, conviene separar la fecha del sufijo aleatorio. Este generador de ULID permite distinguir valores de diferentes milisegundos de aquellos que comparten instante y solo difieren en la parte final.

Fijar un instante de prueba determina el prefijo, pero no el azar. Al ordenar una lista existente, cada registro conserva su número de línea original para poder comparar posiciones sin reescribir la entrada.

Qué muestra este generador de ULID

Una fecha con su unidad a la vista

El generador de ULID separa los diez caracteres temporales de los dieciséis aleatorios. Los milisegundos enteros acompañan a la fecha UTC, de modo que un error de unidad no queda oculto tras una fecha legible.

Un identificador se divide en un prefijo conectado a un reloj y un sufijo aleatorio opaco.

Rastrear el origen después de ordenar

Cada registro conserva sourceLine, incluidos los valores duplicados. Solo cambia la disposición del informe: puedes localizar una fila que se movió sin alterar el texto que pegaste.

Las filas de identificadores desordenadas se conectan con sus posiciones ordenadas.

Define el instante y el alcance del orden

01

Comparar con un milisegundo fijo

El ejemplo de generación rellena el tiempo sin crear ID. Solo el campo vacío significa ahora; 1700000000 se interpreta literalmente en milisegundos, sin convertirlo desde segundos.

  • El reloj se consulta una vez por lote, incluso con 1.000 elementos.
02

Elegir el modo monótono

Activado, incrementa el sufijo de cada valor del lote. Desactivado, las colas aleatorias de un mismo milisegundo pueden quedar en un orden distinto al de generación.

  • El siguiente clic empieza con un nuevo valor aleatorio.
03

Comparar la posición con la línea fuente

El ejemplo de decodificación está mezclado a propósito. Selecciona ASCII ascendente y revisa sourceLine. La actualización automática espera 350 ms; al desactivarla, usa el botón o Ctrl/Cmd+Enter.

  • Editar bloquea la exportación. Ejemplo y Borrar requieren vista previa y permiten deshacer una vez.

Identificadores ordenables con campos visibles

Lotes con un prefijo común

Genera de 1 a 1.000 valores canónicos en mayúsculas. Un tiempo fijo determina solo el prefijo; el primer sufijo proviene de bytes aleatorios seguros y el resto depende del modo monótono.

Leer la marca de tiempo y el sufijo

El informe muestra milisegundos Unix, fecha UTC ISO, los dos segmentos y la parte aleatoria en hexadecimal. Ese sufijo no contiene una identidad de usuario o máquina que se pueda recuperar.

Validación de todo el lote

Un carácter incorrecto, una longitud inválida o un desbordamiento indican línea y columna originales. Una sola fila inválida hace fallar la operación completa; no se omiten errores para producir una exportación parcial.

Exportación completa y vista acotada

Se muestran primero 50 filas y se añaden 100 cada vez. TXT contiene los ID generados; JSON conserva los metadatos del lote o todos los campos decodificados, también los que aún no has desplegado.

Límites de formato, tiempo y uso

Solo se normalizan mayúsculas y minúsculas
Se exigen 26 caracteres ASCII Crockford Base32 por línea. No se corrige I/L a 1 ni O a 0. Espacios, líneas vacías, comillas y guiones son errores; los duplicados se mantienen.
Milisegundos sin signo de 48 bits
El rango es 0–281474976710655 y el primer carácter debe ser 0–7. Una fecha muy futura puede ser formalmente válida. El instante es configurable y no demuestra una creación o inserción real.
Monotonía limitada a una llamada
El desbordamiento del sufijo de 80 bits rechaza el lote entero, sin avanzar el tiempo ni repetir el azar para ocultarlo. No se comparte estado entre clics, pestañas o equipos.
ULID y UUID no son credenciales
Compartir 128 bits no implica el mismo texto ni los mismos campos. No se convierten versiones UUID ni se comprueba la existencia de registros. La hora es visible y los vecinos monótonos previsibles: no uses estos ID como contraseñas o tokens de acceso.
Presupuestos explícitos
Máximo de 1.000 ID generados; entrada de 1.000 líneas físicas y 100.000 unidades UTF-16. Sin importación de archivos o URL, envoltorios SQL, eliminación de duplicados ni reescritura del texto ordenado.

Preguntas sobre el generador de ULID

¿Cuál es la diferencia entre un ULID y un UUID?

ULID usa 26 caracteres Base32 y un prefijo de 48 bits para milisegundos. UUID tiene campos definidos según su versión y suele representarse con 36 caracteres hexadecimales y guiones. El tamaño de almacenamiento común no hace intercambiables sus textos.

¿Qué información contienen los 26 caracteres de un ULID?

Los primeros diez caracteres codifican el tiempo y los últimos dieciséis una cola de 80 bits. Como 26 caracteres Base32 permitirían 130 bits, el primero utiliza solo tres bits y no puede superar 7. No hay metadatos de negocio ocultos en el sufijo.

¿Se garantiza que un ULID sea único?

No existe una garantía global absoluta. En un mismo milisegundo hay 2^80 posibles sufijos aleatorios y la probabilidad de colisión no es cero. El generador de ULID produce valores distintos dentro de un lote monótono exitoso, sin coordinarse con otros generadores.

¿Puedo extraer el tiempo de creación de un ULID?

Sí, puedes recuperar los milisegundos Unix de los primeros diez caracteres y convertirlos a UTC. El generador puede elegir el tiempo y su reloj puede ser incorrecto: se recupera el valor codificado, no una prueba de creación real.

¿Los ULID sirven como contraseñas o secretos?

No. Parte del valor expone el instante y, con monotonía, los vecinos son predecibles. Una fuente aleatoria segura ayuda a generar identificadores, pero no convierte este formato en un secreto ni en una autorización.

¿Tienes una pregunta sobre un ID?

Prueba el generador de ULID

Usa el generador de ULID con un instante de prueba fijo y compara después las líneas originales del ejemplo mezclado con el informe ordenado.