Saltar al contenido
Favoritos

Generador de UUID

Actualizado:

Genera uno o hasta 100 UUID aleatorios de versión 4 al instante en tu navegador. Elige cuántos necesitas, alterna entre hexadecimales en mayúsculas o minúsculas y copia los resultados con o sin guiones.

Generador de UUID (v4)

Campos de entrada
Cuántos UUID se generarán (1–100).
Si está activado, el resultado se actualizará automáticamente al cambiar cualquier valor.

Fórmula del UUID v4

Fórmula
\\[ \\text{xxxxxxxx-xxxx-}\\underbrace{4}_{\\text{versión}}\\text{xxx-}\\underbrace{y}_{\\text{variante}}\\text{xxx-xxxxxxxxxxxx} \]

Donde:

  • \(x\) — un dígito hexadecimal aleatorio (0–9, a–f), 122 bits aleatorios en total
  • \(4\) — el nibble fijo de versión que indica que el UUID es de versión 4
  • \(y\) — el dígito de variante, restringido a 8, 9, a (A) o b (B)

Un UUID de versión 4 se construye a partir de 128 bits aleatorios. Seis de esos bits no son aleatorios: cuatro bits codifican la versión (0100, es decir, el dígito 4) y dos bits codifican la variante (10), por eso el 13.º dígito hexadecimal es siempre 4 y el 17.º es siempre 8, 9, a o b. Esto deja \(122\) bits aleatorios, lo que da \(2^{122} \approx 5.3 \times 10^{36}\) valores posibles.

Generador de UUID – Ejemplo de cálculo

Ejemplo: genera 5 UUID con la configuración predeterminada (Versión: v4, Mayúsculas activado, guiones conservados). Un resultado típico se ve así:

\[ \\text{9F86D081-884C-4D15-9CE2-A1B2C3D4E5F6} \]

Observa las dos posiciones fijas: el primer dígito del tercer grupo es 4 (la versión) y el primer dígito del cuarto grupo es uno de 8, 9, A, B (la variante). Todos los demás caracteres hexadecimales son aleatorios.

Resultado: una lista de 5 UUID, uno por línea, lista para copiar — todos distintos entre sí, pero conformes a la estructura de la versión 4 de la RFC 4122.

Cómo usar la calculadora

  1. Introduce la Cantidad de UUID que necesitas (cualquier valor entre 1 y 100).
  2. Deja la Versión en v4 (aleatorio) — esta herramienta genera identificadores aleatorios de versión 4.
  3. Marca o desmarca Mayúsculas (A–F) según prefieras la salida con estilo 4F2A o 4f2a. Ambas son válidas; el hexadecimal no distingue mayúsculas de minúsculas.
  4. Marca Eliminar guiones si quieres cada UUID como una cadena simple de 32 caracteres (útil para columnas de bases de datos o código que no admite guiones).
  5. Pulsa el botón de calcular. La Lista de UUID muestra un identificador por línea para que puedas copiarlos fácilmente, y el Contador de generados confirma cuántos se produjeron.

¿Qué es un UUID?

Un UUID (Identificador Único Universal), también llamado GUID (Identificador Único Global) en los sistemas Windows, es un identificador de 128 bits diseñado para ser único sin ninguna coordinación central. A diferencia de los IDs autoincrementales de las bases de datos, los UUID pueden generarse de forma independiente en distintos servidores, dispositivos o clientes sin conexión, y las colisiones son prácticamente imposibles: con 122 bits aleatorios por valor, habría que generar miles de millones de UUID antes de que la probabilidad de un solo duplicado se vuelva apreciable.

Los UUID se escriben como 32 dígitos hexadecimales agrupados en el patrón 8-4-4-4-12 y separados por guiones, por ejemplo 550e8400-e29b-41d4-a716-446655440000. Existen varias versiones. La versión 1 incorpora una marca de tiempo y la dirección MAC de la máquina; las versiones 3 y 5 derivan el identificador de un nombre mediante hashes MD5 o SHA-1; la versión 4, la que produce esta herramienta, se construye por completo a partir de números aleatorios. La versión 4 es la más utilizada hoy en día precisamente porque no revela información sobre cuándo ni dónde se creó.

El resultado se interpreta así: cualquier cadena que coincida con el patrón 8-4-4-4-12, con un 4 en la posición de la versión y un 8, 9, a o b en la posición de la variante, es un UUID v4 válido. Puedes usarlo directamente como clave primaria, componente de un token de API, nombre de archivo, ID de solicitud o cualquier otro identificador que nunca deba repetirse.

Consejos prácticos y limitaciones

  • Calidad de la aleatoriedad: el generador utiliza la API crypto.getRandomValues() de tu navegador, una fuente aleatoria criptográficamente segura. No recurre al simple Math.random(), salvo en navegadores muy antiguos.
  • Todo es local: los UUID se generan en tu dispositivo y nunca se envían a un servidor, por lo que es seguro usarlos para fines sensibles.
  • Las mayúsculas no importan: 9F86... y 9f86... son el mismo UUID. Elige el formato que se ajuste al estilo de tu proyecto — muchos sistemas los almacenan en minúsculas.
  • No es una contraseña: un UUID es aleatorio, pero sus 122 bits están estructurados para la unicidad, no para la robustez de una contraseña. Para secretos, usa un Generador de contraseñas específico.
  • No es un hash: un UUID identifica; no verifica. Si necesitas una huella fija de unos datos, un hash SHA-256 o un hash MD5 es la herramienta adecuada — la misma entrada produce siempre el mismo hash, mientras que este generador produce un valor nuevo cada vez.
  • Versiones admitidas: actualmente solo se admite la versión 4; los UUID basados en tiempo (v1) y basados en nombre (v3, v5) no pueden generarse aquí.

Los campos de versión y variante del UUID de un vistazo

Posición en el UUID Valor Significado
Dígito 13 (primer dígito del 3.er grupo) 4 Versión 4 — generado aleatoriamente
Dígito 17 (primer dígito del 4.º grupo) 8, 9, a, b Variante 10xx — la estructura estándar de la RFC 4122
Todos los demás dígitos 0–9, a–f Totalmente aleatorios

Si además necesitas codificar o transmitir datos junto con tus identificadores, el Codificador Base64 puede ayudarte a empaquetarlos de forma segura.

Preguntas frecuentes

¿Cómo puedo generar un UUID v4 a mano o en mi propio código?

Toma 16 bytes aleatorios (128 bits) y sobrescribe dos nibbles: fija el nibble alto del byte 7 (contando desde 1) a 0100 para la versión, y los dos bits superiores del byte 9 a 10 para la variante. Escribe los bytes en hexadecimal con la agrupación 8-4-4-4-12. En código, la mayoría de los lenguajes incluyen una función nativa, por ejemplo crypto.randomUUID() en JavaScript o uuid.uuid4() en Python — sin necesidad de trabajar los bits manualmente.

¿Cuál es la probabilidad de que dos UUID generados colisionen?

Con 122 bits aleatorios por UUID, una colisión es astronómicamente improbable para volúmenes realistas. Tras generar 1000 millones de UUID, la probabilidad de algún duplicado sigue siendo de aproximadamente 1 entre 100 000 millones; con 103 billones de UUID alcanza más o menos 1 entre 1000 millones. Para el uso cotidiano — IDs de usuario, números de pedido, claves de API — puedes tratar los UUID de versión 4 como únicos sin ninguna comprobación central.

¿Son lo mismo UUID y GUID?

En la práctica, sí. GUID (Identificador Único Global) es el término de Microsoft usado en Windows, SQL Server y .NET, mientras que UUID proviene del estándar RFC 4122. Un GUID producido por NEWID() en SQL Server o Guid.NewGuid() en .NET es un UUID de versión 4 con el mismo formato 8-4-4-4-12, así que los dos nombres se refieren al mismo identificador y pueden usarse indistintamente.

¿Por qué el 13.º dígito de todo UUID es siempre 4, y el 17.º siempre 8, 9, a o b?

Esas posiciones no son aleatorias — contienen metadatos. El 13.º dígito hexadecimal codifica la versión (0100 en binario = 4), e indica a los consumidores que el UUID se construyó a partir de números aleatorios. El 17.º dígito codifica la variante (binario 10xx), lo que lo restringe a 8, 9, a o b y marca la estructura como el formato estándar Leach–Salz de la RFC 4122. Si alguna de las dos posiciones difiere, la cadena no es un UUID v4 válido.

¿Cómo compruebo si una cadena es un UUID válido?

Compárala con el patrón de 32 dígitos hexadecimales en la agrupación 8-4-4-4-12. Una expresión regular habitual es ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ (sin distinguir mayúsculas de minúsculas). Para verificar específicamente la versión 4, exige además un 4 al inicio del tercer grupo y un 8, 9, a o b al inicio del cuarto. Muchos lenguajes incluyen validadores; por ejemplo, uuid.UUID(value) de Python lanza un error con entradas mal formadas.

¿Es seguro usar un UUID como clave primaria de una base de datos?

Sí, y es popular en sistemas distribuidos porque las claves pueden crearse sin conexión y sin coordinación. Existen dos limitaciones: los UUID ocupan 16 bytes como columna binaria (36 caracteres como texto) frente a los 4–8 bytes de un entero, y los valores aleatorios de la v4 fragmentan los índices B-tree, provocando más divisiones de páginas que las claves secuenciales. Almacénalos en una columna UUID/binaria nativa cuando sea posible y considera variantes ordenadas de UUID para tablas con muchas escrituras.

¿Por qué algunos UUID aparecen entre llaves o con el prefijo urn:uuid:?

Son simplemente codificaciones textuales alternativas, no identificadores distintos. Las herramientas de Microsoft a menudo imprimen los GUID como {550e8400-e29b-41d4-a716-446655440000}, y la RFC también define la forma URN urn:uuid:550e8400-e29b-41d4-a716-446655440000. Las llaves, el prefijo y los guiones son solo cuestión de presentación — elimínalos antes de almacenar o comparar, ya que los 128 bits subyacentes son idénticos en todos los formatos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *