UUID explicado — v4 vs v7 (y v1)
Entiende las versiones de UUID — v4 para IDs aleatorios, v7 para claves de base de datos ordenadas por tiempo y la v1 heredada. Genera en local en tu navegador sin servidor ni subida.
Un UUID (Identificador Único Universal) es una etiqueta de 128 bits pensada para identificar algo de forma única sin que una autoridad central reparta los números. Si alguna vez has necesitado un ID único de fila, un nombre de archivo que no colisione o una clave para un sistema distribuido, ya te has topado con los UUID. El generador de UUID crea v4, v1 y v7 en local usando Web Crypto — nada se envía a un servidor.
TL;DR
Un UUID es un identificador de 128 bits; la versión que elijas cambia lo que significan esos bits.
- v4 es totalmente aleatorio (el predeterminado) — la opción estándar cuando solo necesitas un ID único.
- v7 es ordenable por tiempo — incluye una marca de tiempo Unix en milisegundos, así que se ordena cronológicamente y forma una clave de índice de base de datos mucho mejor.
- Generado en local con Web Crypto —
crypto.getRandomValuesaporta la aleatoriedad en tu navegador, así que no interviene ningún servidor y ningún valor sale del dispositivo.
Qué es un UUID
Un UUID son 128 bits de datos, representados por convención como 32 dígitos hexadecimales en cinco grupos separados por guiones — la disposición 8-4-4-4-12:
550e8400-e29b-41d4-a716-446655440000
Algunos bits se reservan para marcar la versión (el 4 del tercer grupo de arriba indica v4) y la variante (el a/b/8/9 inicial del cuarto grupo). El resto transporta los datos identificadores reales, y qué datos sean depende de la versión. El espacio total — 2¹²⁸ valores posibles — es tan inmenso que los UUID aleatorios prácticamente nunca colisionan a ninguna escala realista.
Una cosa que un UUID no es: un secreto. Es un identificador, como una matrícula de coche. Conocer uno no te permite derivar otro, pero un UUID por sí solo no ofrece control de acceso — no lo uses como contraseña ni como token.
UUID v4 — el aleatorio predeterminado
v4 es la versión que la mayoría de la gente entiende cuando dice “UUID”. De sus 128 bits, 122 son aleatorios (6 están fijos para la versión y la variante), obtenidos de una fuente aleatoria criptográfica. El resultado es un identificador sin relación con el tiempo, el lugar ni ningún otro valor.
Como el espacio aleatorio es tan grande, la probabilidad de que dos UUID v4 generados de forma independiente colisionen es astronómicamente pequeña — necesitarías generar miles de millones por segundo durante años para que fuera plausible. Eso convierte a v4 en la opción correcta siempre que necesites un ID único y no te importe el orden: un ID de petición, una clave de sesión, un nombre de archivo. El inconveniente es que los valores v4 están repartidos uniformemente por el espacio, lo cual es mal noticia para un índice de base de datos (más abajo).
UUID v7 — el ordenable por tiempo
v7 incluye una marca de tiempo Unix en milisegundos en sus bits iniciales, y el resto son bits aleatorios. La consecuencia que lo define: los UUID v7 se ordenan en el orden en que se crearon.
Eso importa para las bases de datos. Un índice de clave primaria funciona mejor cuando las inserciones son secuenciales, porque las filas nuevas caen unas junto a otras en el índice (un patrón de “añadir”) en vez de esparcidas aleatoriamente por las páginas. Las inserciones v4 afectan a páginas aleatorias — provocando E/S de disco aleatoria, divisiones de página y fragmentación del índice a medida que la tabla crece. Las inserciones v7 se agrupan, así que la base de datos escribe secuencialmente y el índice se mantiene compacto.
Para cualquier tabla que crezca con el tiempo — pedidos, eventos, filas de log — v7 suele ser la mejor clave primaria. Sigues teniendo unicidad entre máquinas sin coordinación, pero con el índice comportándose bien.
UUID v1 — el heredado
v1 también codifica una marca de tiempo (60 bits de un reloj de 100 nanosegundos desde 1582) más un identificador de nodo, derivado históricamente de la dirección MAC de la máquina. Es ordenable en el mismo sentido que v7, pero tiene dos inconvenientes que hacen que rara vez sea la opción correcta hoy:
- Fuga de privacidad — incluir la dirección MAC en cada UUID revela el hardware de red de la máquina que lo generó y hace que los UUID de un nodo sean trivialmente vinculables. En un mundo de privacidad por defecto, ese es un coste real.
- Sin ventaja real frente a v7 — v7 te da orden temporal con una marca de tiempo limpia en milisegundos Unix y sin huella de hardware, así que las razones para recurrir a v1 han desaparecido en gran medida.
Si ya tienes datos v1, siguen funcionando bien; simplemente no empieces sistemas nuevos con v1. v4 (cuando el orden no importa) o v7 (cuando sí) cubre prácticamente cualquier necesidad moderna.
Paso a paso: generar UUID
El generador de UUID se ejecuta por completo en tu navegador usando Web Crypto, así que los bytes aleatorios se producen en local y no se sube nada. Este es el flujo:
- Elige la versión. Los botones v4 / v1 / v7 seleccionan qué versión de UUID generar (v4 está seleccionado por defecto).
- Elige la Cantidad. El selector Cantidad indica cuántos generar: 5, 10, 25, 50 o 100 (máximo 100). El valor por defecto es 10.
- Elige un formato. Siete formatos de salida dan forma al resultado:
- plain — la forma estándar
8-4-4-4-12, como550e8400-e29b-41d4-a716-446655440000. - UPPER — todo en mayúsculas, para sistemas que lo prefieren.
- sin guiones — los 32 dígitos hexadecimales concatenados, como
550e8400e29b41d4a716446655440000. - {llaves} — entre
{...}, el estilo GUID de Microsoft. - “string” — entre comillas dobles, listo para pegar como valor en un JSON.
- SQL IN — con formato
('...','...')para una cláusula SQLIN (...). - JS array — con formato
["...","..."], un literal de array de JavaScript directo.
- plain — la forma estándar
- Genera. Pulsa Nuevo para un solo UUID, o Generar para producir toda la Cantidad de una vez (generar en lote).
- Copia. Pulsa Copiar para copiar todos los valores generados al portapapeles.
Al cambiar de versión se genera de inmediato un único valor nuevo en esa versión, así que puedes comparar formatos lado a lado.
Preguntas frecuentes
¿Los UUID son secretos?
No. Un UUID es un identificador, no un secreto. Conocer un UUID no te permite predecir otro, y un valor v4/v7 por sí solo no concede acceso. Si necesitas algo que deba ser difícil de adivinar — una contraseña, un token de API, un secreto de sesión — genera un secreto real con el generador de contraseñas y tokens. Los UUID son para unicidad, no para control de acceso.
¿v4 o v7 para mi base de datos?
Para una tabla que crece con el tiempo, v7 suele ser la mejor clave primaria: se ordena por fecha de creación, así que las inserciones son secuenciales y el índice se mantiene compacto en vez de fragmentarse con E/S aleatoria. Usa v4 cuando el orden no importe y quieras la máxima compatibilidad — IDs de petición, claves de caché o donde el valor sea solo una etiqueta. Si dudas, elige v7 para nuevas claves primarias y v4 para todo lo demás.
¿Qué formato debería elegir?
Depende de a dónde vaya el valor. plain es el valor por defecto seguro y lo que esperan la mayoría de sistemas. UPPER conviene a sistemas que guardan los GUID en mayúsculas. sin guiones ahorra 4 bytes y encaja en formatos ajustados. {llaves} sigue la convención GUID de Microsoft. “string” se inserta directamente en un valor JSON, SQL IN en una consulta de base de datos y JS array en código JavaScript. Elige la forma que coincida con tu destino.
¿Puedo generar muchos a la vez?
Sí. Ajusta la Cantidad (hasta 100) y pulsa Generar para producir esa cantidad de UUID de una vez, luego Copiar para llevártelos todos. Si solo necesitas uno, Nuevo produce un único valor sin tocar la cantidad.

Comienza con esta herramienta
Empezar ahora