Generador de UUID — v4 y v7

Elige la versión (v4 aleatorio o v7 ordenado por tiempo) y la cantidad, y obtén UUID creados con la fuente aleatoria criptográfica del navegador. Admite mayúsculas y formato sin guiones, y nada sale de la página.

Cómo usarlo

  1. Elige la versión: v4 para uso general, v7 cuando los valores deban ordenarse por fecha de creación (claves de base de datos).
  2. Ajusta la cantidad (hasta 100) y el formato (mayúsculas, sin guiones).
  3. Copia uno a uno o usa «Copiar todo» para una lista separada por líneas.

v4 llena 122 bits desde crypto.getRandomValues — no Math.random — así que los valores resisten predicción y colisiones.

v7 pone la marca de tiempo (milisegundos Unix) en los primeros 48 bits: el orden alfabético es el orden de creación, ideal para claves primarias.

En profundidad

Qué es un UUID

Un UUID (identificador único universal) es un identificador de 128 bits escrito como 32 dígitos hexadecimales agrupados 8-4-4-4-12: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. El estándar actual es RFC 9562.

Su gracia es la unicidad sin autoridad central: los ID creados en cualquier servidor, cliente o dispositivo sin conexión pueden juntarse después en una misma base de datos sin chocar.

v4 frente a v7

v4 es totalmente aleatorio (122 bits). El valor no contiene información, así que no revela cuándo ni en qué orden se creó — adecuado para ID visibles externamente donde importa que no se puedan adivinar.

v7 guarda la hora de creación (milisegundos Unix) en los primeros 48 bits, seguidos de 74 bits aleatorios. Ordenar las cadenas equivale a ordenar por tiempo, lo que lo hace mejor clave primaria: las claves v4 aleatorias se insertan en posiciones aleatorias y fragmentan el índice B-tree.

A cambio, un v7 expone su hora de creación. Donde eso filtre algo, usa v4.

Probabilidad de colisión

El espacio aleatorio de v4 es 2¹²² ≈ 5,3 × 10³⁶. Mil millones de UUID por segundo durante cien años dejan la probabilidad de una sola colisión por debajo de uno entre un millón (paradoja del cumpleaños).

En la práctica, una colisión de UUID significa un generador aleatorio roto, no mala suerte. Por eso un UUID nunca debe salir de una fuente predecible como Math.random: esta herramienta solo usa crypto.getRandomValues.

Formato — mayúsculas y guiones

RFC 9562 fija la salida en minúsculas como estándar y obliga a los lectores a aceptar también mayúsculas: A1B2… y a1b2… son el mismo UUID, así que normaliza antes de comparar.

Los guiones existen para el ojo humano. Donde los caracteres cuestan — columnas de base de datos, URL, nombres de archivo — se usa también la forma de 32 caracteres sin guiones (la opción «quitar guiones» de esta herramienta). Para almacenar, 16 bytes binarios (el tipo uuid de PostgreSQL) ocupan menos de la mitad que la cadena de 36 caracteres.

Algunos sistemas, como la notación GUID clásica de Microsoft, envuelven el valor en llaves {…} — mismo valor, distinto envoltorio.

Qué pasa con v1 y v5

v1 combina la hora con la dirección MAC de la máquina. Exponer el dispositivo generador resultó ser un problema de privacidad, y v7 ofrece la misma ordenabilidad sin él.

v3/v5 no son aleatorios: hashean un nombre (MD5 y SHA-1 respectivamente), de modo que la misma entrada produce siempre el mismo UUID. Útiles cuando necesitas un ID determinista, por ejemplo para una URL — más calculadora que generador.

Así que un generador en línea solo necesita v4 y v7: ID aleatorios con v4, ID ordenables con v7 — entre ambos cubren casi todos los casos.

Preguntas frecuentes

¿Uso v4 o v7?

Ante la duda, v4: el UUID aleatorio estándar que funciona en todas partes. Si los valores deben ordenarse por fecha de creación, como claves primarias o ID de eventos, v7 mantiene el índice compacto.

¿Pueden chocar dos UUID?

En teoría sí, en la práctica no. Un v4 lleva 122 bits aleatorios: generando mil millones por segundo durante un siglo, la probabilidad de una sola colisión queda muy por debajo de uno entre un millón.

¿Se suben los UUID generados a algún sitio?

No. Se crean con el generador criptográfico del navegador sin ninguna petición de red, y desaparecen al salir de la página.

Herramientas relacionadas