Acerca del generador de UUID
Este generador de UUID gratuito crea UUID de versión 4 aleatorios (también llamados GUID): identificadores universalmente únicos que se usan en bases de datos, API, archivos de registro y sistemas distribuidos. Genere uno o un lote entero y cópielos con un clic.
Se generan en su navegador mediante crypto.getRandomValues, la misma fuente aleatoria criptográficamente segura que se emplea para las claves de cifrado. No se solicita nada a ningún servidor, así que cada UUID que ve aquí no ha existido en ningún otro lugar.
Qué es un UUID
Un UUID es un número de 128 bits, escrito como 32 dígitos hexadecimales en cinco grupos separados por guiones:
f47ac10b-58cc-4372-a567-0e02b2c3d479
La agrupación es 8-4-4-4-12, y la longitud total es siempre de 36 caracteres, incluidos los guiones.
Su razón de ser es generar un identificador único sin preguntar a nadie. Una base de datos puede repartir 1, 2, 3… porque es la única autoridad sobre lo que viene después. Pero cuando dos teléfonos crean registros sin conexión, o doce servidores insertan filas a la vez, o usted necesita un identificador *antes* de que exista la fila, no hay ninguna autoridad a la que preguntar. Un UUID resuelve eso siendo tan grande y tan aleatorio que una colisión no merece ni pensarse.
La versión 4 y los dos dígitos que la delatan
Existen varias versiones de UUID. La versión 4 es la aleatoria, y es lo que casi todo el mundo quiere decir con «un UUID».
Puede leer la versión directamente en la cadena. En f47ac10b-58cc-4372-a567-0e02b2c3d479:
- El primer dígito del tercer grupo es la versión: aquí un 4
- El primer dígito del cuarto grupo es la variante: siempre 8, 9, a o b
Esas dos posiciones son fijas, lo que deja 122 bits de aleatoriedad real en lugar de 128.
Las otras versiones con las que puede toparse: v1 codifica la marca de tiempo y la dirección MAC de la máquina, lo que la hace ordenable pero revela dónde y cuándo se creó. v7, normalizada en 2024, es la respuesta moderna: una marca de tiempo al principio y aleatoriedad después, de modo que los identificadores se ordenan por fecha de creación sin filtrar detalles del hardware. Si está eligiendo hoy y el orden en la base de datos importa, vale la pena conocer la v7.
¿Son realmente únicos?
No está garantizado, pero las cifras son lo bastante absurdas como para que no importe.
122 bits aleatorios dan unos 5,3 × 10³⁶ valores posibles. Para alcanzar un 50 % de probabilidad de una sola colisión habría que generar aproximadamente 2,7 × 10¹⁸ UUID: 2,7 trillones.
En concreto: generando mil millones de UUID cada segundo, se tardaría unos 85 años en llegar a un 50 % de probabilidad de un solo duplicado en todo el conjunto. Para cualquier aplicación real, el riesgo es menor que el de que su almacenamiento corrompa el valor en silencio.
La única salvedad real es la calidad de la aleatoriedad. Un UUID procedente de una fuente aleatoria débil no es único del modo que promete la matemática: ha habido errores reales en los que un generador predecible produjo repeticiones. Esta herramienta usa el generador criptográfico del navegador, no Math.random().
Un UUID no es un secreto
Conviene decirlo con claridad, porque se usa mal en ambas direcciones.
Un UUID v4 es impredecible, así que es razonable como URL inadivinable: un enlace para compartir o un token de restablecimiento de contraseña. Pero no está diseñado como primitiva de seguridad, no lleva caducidad y con frecuencia acaba en registros, cachés, herramientas de analítica y mensajes de chat. Trátelo como un identificador que además resulta difícil de adivinar, no como una credencial.
Y al revés: no dé por hecho que un UUID oculta algo. Un UUID v1 contiene una marca de tiempo y una dirección MAC a la vista. Si ha heredado identificadores de algún sitio y empiezan por una versión 1, le están diciendo a cualquiera que los lea cuándo y dónde se crearon.
Dónde los usará
- Claves primarias de base de datos: sobre todo cuando las filas se crean en varias máquinas a la vez
- Aplicaciones offline-first: un teléfono puede crear registros sin conexión y sincronizarlos después sin renumerar
- Identificadores de peticiones de API: seguir una única petición a través de muchos servicios en los registros
- Nombres de archivos y subidas: evitar colisiones sin fiarse del nombre de archivo del usuario
- Deduplicación de mensajes: una clave de idempotencia para que una petición reintentada no se procese dos veces
- Enlaces para compartir: una URL inadivinable para un documento o una invitación
- Datos de prueba: valores únicos que nunca chocarán con datos reales
Cómo usarlo
- Elija cuántos necesita
- Genere: aparecen UUID nuevos
- Copie: copie un solo UUID o la lista entera
Conviene saber
- Las mayúsculas y minúsculas no importan, pero la convención son las minúsculas, y es lo que produce esta herramienta. Algunos sistemas comparan los UUID como cadenas simples, donde A y a son distintos, así que sea coherente.
- Los guiones son formato. Muchos sistemas almacenan los 32 dígitos sin guiones, o como 16 bytes en bruto. El mismo valor, otra presentación.
- Como clave de base de datos tienen un coste. Un UUID ocupa 16 bytes frente a 4 u 8 de un entero, y los valores aleatorios dispersan las escrituras por un índice de árbol B en lugar de añadirlas al final. En una tabla grande con muchas escrituras eso es medible, que es exactamente el problema que la v7 se diseñó para resolver.
- No los use como contraseñas. Son impredecibles, pero son identificadores, y acaban en registros y en el historial del navegador.
- «GUID» es el nombre que Microsoft da a lo mismo. En .NET y SQL Server verá GUID; es el mismo valor de 128 bits.
- El UUID nil son todo ceros: 00000000-0000-0000-0000-000000000000. Suele significar «ninguno» o «sin asignar», así que conviene reconocerlo.
Preguntas frecuentes
¿Qué es un UUID y para qué sirve?
Un UUID es un identificador de 128 bits escrito con 36 caracteres, como f47ac10b-58cc-4372-a567-0e02b2c3d479. Su finalidad es permitir que cualquier cosa genere por sí sola un identificador único, sin consultar ningún contador central. Eso importa cuando los registros se crean en varios servidores a la vez, en un teléfono sin conexión, o antes de que la fila exista siquiera en la base de datos.
¿Los UUID son únicos garantizados?
No, pero la probabilidad de un choque es insignificante. Un UUID de versión 4 tiene 122 bits aleatorios, lo que da unas 5,3 × 10³⁶ posibilidades. Habría que generar unos 2,7 trillones antes de llegar a un 50 % de probabilidad de un solo duplicado. A mil millones por segundo eso son unos 85 años.
¿Cuál es la diferencia entre UUID y GUID?
Ninguna en la práctica. GUID es el nombre que Microsoft da al mismo identificador de 128 bits y lo verá por todo .NET y SQL Server. El único matiz es que algunas herramientas de Microsoft muestran un GUID entre llaves, como {f47ac10b-...}, y que unas pocas API antiguas ordenan algunos bytes de otra forma al convertirlo a binario en bruto.
¿Qué versión de UUID debería usar?
La versión 4 para uso general: es totalmente aleatoria y no revela nada sobre dónde ni cuándo se creó. Considere la versión 7 si estos identificadores van a ser claves primarias de base de datos, ya que pone una marca de tiempo al principio, de modo que los valores se ordenan por fecha de creación y se indexan mucho mejor. Evite la versión 1 para cualquier cosa pública, porque incrusta una dirección MAC y una marca de tiempo.
¿Puedo usar un UUID como token de seguridad?
Para un enlace inadivinable es aceptable, ya que un UUID v4 no se puede predecir de forma realista. Pero es un identificador, no una credencial: nunca caduca, no se puede revocar por sí solo, y tiende a acabar en los registros del servidor, la analítica y el historial del navegador. Para autenticación de verdad, use un token pensado para ello y con caducidad.
¿Estos UUID se generan en su servidor?
No. Se crean en su navegador con crypto.getRandomValues, el generador criptográficamente seguro incorporado en todos los navegadores modernos. No se hace ninguna petición ni se registra nada, así que puede generarlos con la conexión apagada.
Herramientas relacionadas
- Generador de contraseñas: la misma fuente aleatoria segura, para secretos en vez de identificadores
- Generador de hash: MD5, SHA-1 y SHA-256 para obtener huellas de datos
- Generador de números aleatorios: números aleatorios en el rango que elija
- Conversor de marcas de tiempo: leer la marca de tiempo que hay dentro de un UUID v1 o v7