Saltar al contenido principal

Generar UUID

Genera en lote UUID v4 aleatorios mediante criptografía, UUID v7 ordenados por tiempo y UUID v1 con marca de tiempo gregoriana usando la API criptográfica del navegador. También inspecciona la versión, la variante y la fecha de un UUID existente. Los identificadores nunca se envían a un servidor.

Solo local
Versión UUID
Opciones de formato
UUID generados (0 en total)

¿Qué es un UUID y en qué se diferencian v1, v4 y v7?

Un identificador universalmente único (UUID), también denominado GUID, es un valor de 128 bits que permite identificar entidades en sistemas distribuidos sin pedir un número a una autoridad central. Su representación habitual tiene 32 dígitos hexadecimales y cuatro guiones.

RFC 4122 definió durante años el formato conocido. RFC 9562, publicado en mayo de 2024, lo sustituyó y estandarizó versiones nuevas, entre ellas v7, adecuada cuando importa el orden temporal.

Anatomía de un UUID de 128 bits

La forma canónica agrupa 32 dígitos hexadecimales en bloques 8-4-4-4-12: son 36 caracteres con los guiones. Un nibble identifica la versión y dos bits identifican la variante.

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

time_low time_mid time_hi clock_seq node

M = versión de 4 bits (1, 4 o 7)

N = variante RFC 4122 / RFC 9562 (8, 9, a o b)

UUID v4: aleatoriedad criptográfica

En v4, cuatro bits indican la versión y dos la variante. Quedan 122 bits aleatorios, con 2¹²² ≈ 5,3 × 10³⁶ valores posibles. El navegador obtiene la aleatoriedad de su generador criptográfico.

La probabilidad aproximada de alguna colisión entre n UUID v4 es p ≈ 1 − exp(−n² / (2 × 2¹²²)). La posibilidad es diminuta a escalas normales, aunque la naturaleza aleatoria de las claves puede afectar a los índices de bases de datos.

UUID v7 e índices de bases de datos (RFC 9562)

En un índice B-tree, una clave v4 nueva puede insertarse en cualquier página. Si el índice crece más allá de la memoria, esto puede aumentar lecturas aleatorias, divisiones de páginas y escrituras. Las claves aproximadamente ordenadas por tiempo suelen conservar mejor la localidad de las inserciones.

UUID v7 comienza con una marca de tiempo Unix de 48 bits en milisegundos. Después de la versión y la variante, los bits restantes pueden usarse para aleatoriedad o para un contador, según la implementación. Así facilita el orden temporal sin un generador central de identificadores.

  1. 48 bits: milisegundos desde la época Unix; el campo alcanza hasta el año 10889.
  2. 12 bits rand_a: aleatoriedad, fracción de milisegundo o contador para ordenar valores del mismo milisegundo.
  3. 62 bits rand_b: aleatoriedad o secuencia adicional; la política exacta depende del generador.

UUID v1: el formato temporal anterior

UUID v1 codifica una cuenta de intervalos de 100 nanosegundos desde el 15 de octubre de 1582. El diseño histórico podía incluir la dirección MAC del equipo en los últimos 48 bits. Esta herramienta usa un identificador de nodo aleatorio.

El orden de sus campos no coincide con el orden cronológico de la cadena. Para diseños nuevos que necesitan orden temporal, v7 evita esta disposición y no requiere exponer una dirección MAC.

  • Orden de campos: time_low aparece al principio, de modo que las cadenas v1 no se ordenan cronológicamente sin reordenar bytes.
  • Privacidad: las implementaciones antiguas podían incorporar una MAC real y revelar información sobre el equipo.

¿Qué atajos de teclado admite el generador?

Ctrl + Intro / Cmd + IntroGenerar al instante un nuevo lote
Tab / Mayús + TabRecorrer versiones, cantidades y opciones de copia
EscBorrar la entrada del inspector y restablecer la selección

Preguntas frecuentes

¿Por qué elegir UUID v7 frente a v4 para claves primarias?

v4 distribuye inserciones por todo el índice. v7 empieza con una marca de tiempo, por lo que las claves suelen llegar en orden y pueden reducir la presión sobre páginas y caché. El orden entre valores del mismo milisegundo depende de la implementación.

¿Cuál es la probabilidad de colisión de UUID v4?

v4 tiene 122 bits aleatorios. Para n valores, p ≈ 1 − exp(−n² / (2 × 2¹²²)). Se necesitarían más de 103 billones de valores para acercarse a una probabilidad de una entre mil millones.

¿Cómo se generan sin contactar con un servidor?

El navegador utiliza crypto.randomUUID y crypto.getRandomValues, que recurren a la fuente criptográfica del sistema. La generación y la inspección se realizan localmente; la herramienta no transmite los UUID.

¿Qué fecha codifica v1 y por qué se reemplazó?

Cuenta intervalos de 100 nanosegundos desde el 15 de octubre de 1582. El formato antiguo podía incluir una MAC y sus campos no se ordenaban cronológicamente como texto. v7 usa milisegundos Unix y bits aleatorios.

¿Puedo generar miles de UUID para datos de prueba?

Sí. Se admiten hasta 5.000 por lote, con opciones de mayúsculas, guiones, comillas, llaves y separación por líneas, comas o matriz JSON.

¿Sirven como tokens de seguridad?

v4 aporta 122 bits aleatorios, pero un UUID puede aparecer en URL, registros y tickets. Para sesiones o recuperación de contraseñas conviene un token emitido y revocable por el servidor. v1 y v7 revelan la hora de creación.