¿Qué versión de UUID debo usar: v4, v1, v7 o v3/v5?
Si acabas de abrir un generador de UUID y ves cinco pestañas distintas, es normal dudar cuál te conviene. Esta guía explica en qué se diferencian v4, v1, v7 y v3/v5, cuándo elegir cada una, y cómo generarlas y validarlas gratis y sin salir del navegador.
Qué es una UUID, en una frase
Respuesta rápida Una UUID es un identificador de 128 bits, escrito habitualmente como 32 caracteres hexadecimales agrupados 8-4-4-4-12 (por ejemplo 550e8400-e29b-41d4-a716-446655440000), pensado para ser único sin que ninguna autoridad central coordine su asignación.
El estándar que define su formato es la RFC 4122 (actualizada por la RFC 9562), y existen varias «versiones» que difieren en cómo se rellenan esos 128 bits: con aleatoriedad pura, con una marca de tiempo, o de forma determinista a partir de un nombre. Elegir la versión correcta no es solo un detalle técnico — puede afectar al rendimiento de tu base de datos o a si tu identificador filtra información que preferirías mantener privada.
UUID vs GUID
Un GUID es el mismo estándar de 128 bits, con el nombre que usa Microsoft. La diferencia práctica más habitual es de formato: en .NET, los GUID suelen mostrarse entre llaves, como {550e8400-e29b-41d4-a716-446655440000}.
UUID v4 frente a v1: aleatoria o con marca de tiempo
Respuesta rápida UUID v4 rellena 122 de sus 128 bits con aleatoriedad criptográfica y no lleva ninguna información de tiempo ni de máquina; UUID v1 incorpora la marca de tiempo de creación y un identificador de nodo, lo que en teoría permite rastrear cuándo (y con qué «nodo») se generó.
UUID v4 es hoy la versión más usada por defecto: cada valor se genera con crypto.getRandomValues (en el navegador) o el equivalente del sistema operativo, fija 4 bits de versión y 2 de variante, y el resto es ruido aleatorio. Como no incorpora reloj ni identificador de máquina, no revela nada sobre cuándo o dónde se creó — una ventaja de privacidad frente a v1.
UUID v1, en cambio, incrusta el número de «ticks» de 100 nanosegundos desde 1582 más un identificador de nodo, clásicamente derivado de la dirección MAC del equipo. En el generador de ToolPico, el modo v1 nunca usa una MAC real: genera un nodo aleatorio con el bit multicast activado, tal y como recomienda la propia RFC 4122 cuando no se dispone de una dirección de hardware fiable.
| Versión | Contiene marca de tiempo | Determinista | Uso típico |
| v4 | No | No (aleatoria) | Identificadores generales, tokens, IDs de sesión |
| v1 | Sí (100ns desde 1582) | No | Sistemas heredados que necesitan orden temporal |
| v7 | Sí (ms Unix) | No | Claves primarias de bases de datos modernas |
| v3 / v5 | No | Sí (namespace + nombre) | IDs estables derivados de una URL, email, etc. |
Por qué UUID v7 gusta tanto para bases de datos
Respuesta rápida UUID v7 coloca una marca de tiempo Unix en milisegundos en sus primeros 48 bits, así que los valores generados en secuencia también quedan ordenados de forma cronológica y alfabética — algo que UUID v4 no puede ofrecer.
Cuando una UUID v4 completamente aleatoria se usa como clave primaria, cada inserción cae en una posición impredecible del índice, lo que puede fragmentar el árbol B (B-tree) de la base de datos y penalizar el rendimiento de escritura a medida que la tabla crece. UUID v7 resuelve justamente ese problema: al llevar la marca de tiempo por delante, los valores nuevos se insertan de forma aproximadamente secuencial, de forma parecida a como se comporta un entero autoincremental, pero conservando la ventaja de poder generarse en el cliente sin coordinación con el servidor.
Ejemplo ilustrativo (cifras de ejemplo, no una medición real): en un caso hipotético con una tabla de 10 millones de filas, sustituir claves v4 por v7 podría, en teoría, reducir la fragmentación del índice — el efecto real depende por completo del motor de base de datos, la configuración del índice y el patrón de escritura de cada proyecto, así que conviene medirlo en tu propio entorno antes de decidir.
Dato clave: tanto v1 como v7 (y también los ULID) permiten decodificar la hora de creación integrada. En la pestaña «Validar» del generador de UUID, al pegar uno de estos valores se muestra la fecha en UTC y en hora local automáticamente.
v3/v5: cuándo necesitas una UUID determinista
Respuesta rápida UUID v3 (MD5) y v5 (SHA-1) combinan un namespace con un nombre para producir siempre el mismo resultado — el mismo namespace más el mismo nombre da exactamente la misma UUID, cada vez.
Esto es útil cuando necesitas un identificador estable sin tener que almacenarlo en ningún sitio: por ejemplo, derivar un ID a partir de un dominio (example.com) o de una dirección de correo, de forma que cualquier sistema que aplique el mismo cálculo llegue al mismo valor. El generador admite los cuatro namespaces estándar de la RFC 4122 (DNS, URL, OID, X.500) o un namespace personalizado, y permite introducir varios nombres — uno por línea — para generar el lote determinista de una vez.
v5 (basada en SHA-1) es generalmente preferible a v3 (basada en MD5, un algoritmo hoy considerado débil para otros usos criptográficos) cuando ambas opciones están disponibles, aunque para el simple propósito de generar un identificador — no para seguridad — ambas siguen siendo válidas según la RFC.
Genera y valida UUID/GUID gratis
v4, v1, v3/v5, v7, más un validador con decodificador de marca de tiempo — todo en tu navegador, sin enviar nada a un servidor.
Probar la herramienta →
Preguntas frecuentes
¿Cuál es la mejor versión de UUID para una clave primaria de base de datos?
Para la mayoría de bases de datos modernas, UUID v7 suele ser la mejor opción: sus primeros 48 bits son una marca de tiempo en milisegundos, así que los valores generados en secuencia quedan ordenados cronológicamente, lo que ayuda al rendimiento de los índices B-tree frente a una UUID v4 completamente aleatoria. Si necesitas máxima imprevisibilidad (por ejemplo, tokens de acceso a recursos) y el orden no importa, UUID v4 sigue siendo perfectamente válida.
¿Cuál es la diferencia entre UUID v4 y UUID v1?
UUID v4 se basa por completo en aleatoriedad criptográfica y no contiene ninguna información de tiempo ni de máquina. UUID v1 incorpora la marca de tiempo de creación y un identificador de nodo (clásicamente derivado de la dirección MAC), lo que en teoría permite rastrear cuándo y en qué máquina se generó. Por privacidad, v4 (o v7) suele preferirse hoy sobre v1.
¿Cuándo debo usar UUID v3 o v5 en lugar de v4?
Usa v3 (MD5) o v5 (SHA-1) cuando necesites que el mismo namespace más el mismo nombre produzcan siempre la misma UUID, es decir, una generación determinista y reproducible — por ejemplo, para derivar un identificador estable a partir de una URL o de un correo electrónico sin tener que guardarlo en ningún sitio. v4 y v7, en cambio, son aleatorias: cada generación produce un valor distinto.
¿Es seguro generar UUID con una herramienta online?
Sí, siempre que la herramienta genere los valores en el navegador con la Web Crypto API (crypto.getRandomValues) y no envíe nada a un servidor. El generador UUID de ToolPico funciona así: toda la generación y validación ocurre en tu dispositivo, sin registro ni almacenamiento en servidor.
¿Cuántas UUID v4 harían falta para tener un 50% de probabilidad de colisión?
De forma aproximada (cálculo teórico del problema del cumpleaños, no una medición real), harían falta del orden de 2,71 billones de UUID v4 generadas para alcanzar un 50% de probabilidad de que dos coincidan. En la práctica, para cualquier aplicación normal, el riesgo de colisión es insignificante.
Nota: Esta guía tiene fines informativos y de referencia técnica general; las cifras de probabilidad de colisión y de rendimiento de índices son aproximaciones teóricas o ejemplos ilustrativos, no mediciones garantizadas para tu caso concreto. Verifica siempre el comportamiento en tu propio entorno de base de datos antes de tomar decisiones de arquitectura.