piapia123
es

Generador de UUID, ULID, NanoID y ObjectId

Generadores

Todo se ejecuta en tu navegador: no se sube nada

Resultado

Produce una columna entera de identificadores de una vez, uno por línea, lista para pegar en una hoja de cálculo o en un script de datos. Cada tipo resuelve un problema distinto: v4 son 122 bits aleatorios, apropiado para una referencia imposible de adivinar; v7 empieza con una marca de tiempo de 48 bits en milisegundos, así que ordenar las cadenas las ordena por momento de creación y las filas nuevas caen al final de un índice de base de datos en lugar de dispersar las páginas del árbol B como hace v4; ULID también está ordenado por tiempo, pero codificado en Crockford Base32, así que bastan 26 caracteres; NanoID es aún más corto, 21 caracteres seguros para URL; CUID empieza por c (el id de HTML no puede empezar por dígito), así que sirve directamente como id de DOM; el ID corto tiene 10 caracteres fijos y elimina los caracteres que se confunden (0/O, 1/l/I); ObjectId es el formato de clave de MongoDB, doce bytes hexadecimales cuyos cuatro primeros son segundos (no milisegundos), así que su resolución se queda en el segundo. ⚠️ La carga de v8 la define la aplicación; lo que escribe esta herramienta es la disposición habitual de marca de tiempo más aleatorio, que solo significa algo si tu sistema acordó la misma — sin tal acuerdo, usa v7.

Funciones

  • Ocho tipos: UUID v4 (aleatorio), v7 (ordenado por tiempo), v8 (carga definida por la aplicación), ULID, NanoID, CUID, ID corto y MongoDB ObjectId
  • Genera de 1 a 1000 valores a la vez, uno por línea para copiar la columna entera
  • UUID v4 escribe los bits de versión y variante exactamente como exige RFC 4122, así que cualquier validador lo acepta
  • UUID v7 y ULID comparten una marca de tiempo en milisegundos por lote, con un contador que se incrementa, así que ordenar el lote equivale al orden de generación
  • ULID usa Crockford Base32, que deja fuera las letras fáciles de confundir I, L, O y U
  • ObjectId sigue la disposición BSON — cuatro bytes de segundos, cinco de aleatoriedad por proceso, tres de contador — con un inicio de contador aleatorio que no da la vuelta dentro del lote
  • Puedes pasar a hexadecimal en mayúsculas o quitar los guiones (los guiones son solo formato y no cambian el valor)

Cómo se usa

  1. Elige el tipo (v4 / v7 / v8 / ULID / NanoID / CUID / ID corto / ObjectId)
  2. Ajusta la cantidad, hasta 1000
  3. Marca mayúsculas o guiones si los necesitas
  4. Deja el campo de entrada vacío y pulsa Ejecutar
  5. Pulsa Copiar para llevarte toda la columna

Preguntas frecuentes

¿Puedo usar un UUID como contraseña o clave de API?
No. Un UUID es un identificador, no un secreto: está pensado para aparecer en URL, registros, claves primarias y parámetros de consulta, así que no puede mantenerse en secreto; además, las variantes ordenadas por tiempo revelan cuándo se crearon. Para un valor imposible de adivinar usa el generador de contraseñas (longitud de 16 o más, con el juego de caracteres más amplio posible); para una clave de verdad, deja que la gestione un sistema dedicado en vez de fabricarla tú.
¿v4 o v7 para una clave primaria de base de datos?
v7. Como está ordenado por tiempo, las filas nuevas siempre se añaden cerca del final del índice, así que las escrituras siguen siendo secuenciales. Las claves v4, al ser aleatorias, no dejan de partir páginas del índice, y la diferencia se nota en cuanto la tabla crece. Elige v4 cuando precisamente no quieras que alguien de fuera deduzca cuándo se creó un registro.
¿Un mismo lote de v7 sale ordenado?
Sí. Todos los v7 de una misma ejecución comparten la misma marca de tiempo en milisegundos e incrementan el contador rand_a de 12 bits, así que ordenar la columna copiada reproduce el orden de generación. La garantía es por ejecución: una segunda pulsación empieza un lote nuevo.
ObjectId o UUID v7, ambos ordenados por tiempo: ¿cuál uso?
Depende de tu base de datos: con MongoDB usa ObjectId (es el tipo de clave predeterminado y los controladores y los índices están afinados para él) y v7 en los demás casos. Hay dos diferencias que conviene conocer. La resolución: los cuatro primeros bytes de ObjectId son segundos, mientras que v7 usa milisegundos, así que dos ObjectId creados en el mismo segundo no se pueden ordenar entre sí solo por el ID. El tamaño: ObjectId ocupa 12 bytes frente a 16 de v7. Y ojo, de esos 12 bytes solo 8 son aleatorios (cinco de valor por proceso más tres de contador), así que un ObjectId no es un identificador imposible de adivinar: recurre a v4 cuando la imprevisibilidad sea el objetivo.
¿Se sube o se registra algo?
No. La aleatoriedad proviene de crypto.getRandomValues, integrado en el navegador; la generación ocurre en la memoria de tu equipo y la página no hace ninguna petición de red. Funciona sin conexión.

Herramientas relacionadas